Listbox具有鼠标和键盘的不同风格

时间:2016-07-13 06:08:32

标签: c# wpf listbox mouseevent keyboard-events

我遇到了列表框样式的问题

 <ListBox Name="uiList" MaxHeight="300" Width="200">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel ForceCursor="False">
                            <CheckBox Margin="3" Focusable="False" Checked="CheckBox_Checked" Unchecked="CheckBox_Unchecked" 
                                      IsChecked="{Binding Path=IsSelected, Mode=TwoWay,RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}}}">
                                <TextBlock Text="{Binding Title}"/>
                            </CheckBox>
                        </StackPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>

 private void CheckBox_Checked(object sender, RoutedEventArgs e)
    {
        if (!SelectedItems.Contains((sender as CheckBox).DataContext))
        {
            SelectedItems.Add((sender as CheckBox).DataContext);
        }
    }

    private void CheckBox_Unchecked(object sender, RoutedEventArgs e)
    {
        //If Unchecked CheckBox will remove from SelectedItems
        SelectedItems.Remove((sender as CheckBox).DataContext);
    }

this is a screenshoot

问题是当使用鼠标和键盘选择项目时,它们具有不同的样式。前两个用键盘选中其他鼠标。有人可以帮助我。 谢谢!

0 个答案:

没有答案