WPF Listbox i Select All
Chcę utworzyć prosty ListBox i mieć SelectAll jako element menu kontekstowego. Wygląda jednak na to, że ListBox ma wbudowaną obsługę SelectAll, której nie mogę uruchomić, ale przeszkadza mi w implementacji SelectAll.
Mój cały XAML to:
<code><Window x:Class="WpfApplication1.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" Height="300" Width="300"> <Window.CommandBindings> <CommandBinding Command="ApplicationCommands.SelectAll" Executed="SelectAllExecuted" /> </Window.CommandBindings> <DockPanel> <CheckBox DockPanel.Dock="Top">My Checkbox</CheckBox> <ListBox Name="listBox" SelectionMode="Multiple"> <ListBox.ContextMenu> <ContextMenu> <MenuItem Command="ApplicationCommands.SelectAll" /> </ContextMenu> </ListBox.ContextMenu> </ListBox> </DockPanel> </Window> </code>
SelectAllExecuted to po prostu:
<code>private void SelectAllExecuted(object sender, ExecutedRoutedEventArgs e) { listBox.SelectAll(); } </code>
Control + A działa, jeśli pole listy nie jest aktywne. Element menu kontekstowego działa poprawnie. Ale Control + A odmawia pracy, jeśli pole listy jest skoncentrowane.
Czuję, że walczę z listbox, ale nie muszę.
Edytować: Wygląda na to, że wszystkie moje problemy dotyczą trybu Multiple SelectionMode. Jeśli ustawię go na Extended, wszystko działa, ale nie chcę go w trybie rozszerzonym.