1

車のモデルを含むWPFチェックボックスリストがあります。リストにタブで移動すると、次のようになります。

1)最初のタブキーを押すと、リスト項目が選択されます

2)2番目のタブキーを押すと、実際のチェックボックスが選択され、スペースバーキーを使用してIsChecked状態を設定できます。

リスト項目を選択したときに、カーソルをチェックボックスに自動的に移動することはできますか?(タブを2回押すのを避けようとします)

XAML:

<ListBox ItemsSource="{Binding Cars}">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <CheckBox Content="{Binding Make}" IsChecked="{Binding IsChecked,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" />
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
4

2 に答える 2

1

ダンのソリューションを試してみましたが、機能しますが、最初のチェックボックスを選択した後にリストボックスコントロールからフォーカスを移動します。選択したリストボックス項目にフォーカスが設定されないようにするものを探していました。リスト。

次のリンクが役に立ちました-WPFのリストボックス項目へのキーボードフォーカス

境界線と垂直スクロールバーを作成するためにいくつかの変更を加えました。以下の完全な XAML:

<Border BorderThickness="0.8" BorderBrush="Gray">
        <ScrollViewer ScrollViewer.VerticalScrollBarVisibility="Auto" Margin="1">
            <ItemsControl ItemsSource="{Binding Cars}">
                <ItemsControl.ItemTemplate>
                    <DataTemplate>
                        <CheckBox Content="{Binding Make}" IsChecked="{Binding IsChecked,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" />
                    </DataTemplate>
                </ItemsControl.ItemTemplate>
            </ItemsControl>
        </ScrollViewer>
    </Border>
于 2012-10-16T08:33:45.457 に答える
1

これをあなたに追加してみてくださいListBox

        <ListBox.ItemContainerStyle>
          <Style TargetType="Control">
            <Setter Property="Focusable" Value="False" />
          </Style>
        </ListBox.ItemContainerStyle>
于 2012-10-16T07:45:08.237 に答える