我想创建一个简单的列表框并将SelectAll作为上下文菜单项。但是,似乎ListBox有一些内置的SelectAll处理,我无法工作,但干扰了我尝试实现SelectAll。WPF列表框和全选
我的整个XAML是:
<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>
SelectAllExecuted很简单:
private void SelectAllExecuted(object sender, ExecutedRoutedEventArgs e)
{
listBox.SelectAll();
}
控制+ A工作,如果列表框没有焦点。上下文菜单项正常工作。但是如果列表框着重于Control + A,则拒绝工作。
我觉得我在对抗列表框,但我不需要。
编辑:看起来我的整个问题都与多选模式有关。如果我将它设置为Extended,那么一切正常,但我不想在扩展模式下使用它。
矿山以上XAML没有工作,但后面的代码工作完美的情况下。谢谢 – 2017-07-17 20:09:25