7

Windows フォームで使用していた CheckListBox が欲しかっただけです。

    <ListBox>
        <ListBox.ItemTemplate>
            <DataTemplate>
                <CheckBox  Content="{Binding Name}"/>
            </DataTemplate>
        </ListBox.ItemTemplate>

最初はこれでうまくいくように見えましたが、多くの問題がありました。つまり、CheckBox がアイテムではなく、CheckBox が実際のアイテムに浮かんでいるように機能します。

つまり、(1) チェックボックスのテキストをクリックしても ListBox アイテムは選択されず、(2) 上下キーを押してもチェックボックスはフォーカスされません。フォーカスするには、チェックボックスをクリックする必要があります。Google で解決策を検索しましたが、クリーンな解決策はありませんでした。私はあまりにも多くを望んでいますか?

CheckedListBoxの動作が欲しいだけです...

チェックボックスの PreviewMouseDown イベントを処理し、項目を手動で選択することで (1) を回避しました。きれいに見えません。

4

2 に答える 2

9

これは、あなたCheckBoxListBox. すべての機能を備えたリストのアイテムとして扱われます。

チェックボックスのリストのみを作成し、リストの選択ロジックが不要な場合は、.の代わりにItemsControlListBoxを使用します。使い方は平等です。CheckboxList をスクロール可能にしたい場合は、ScrollViewer を使用して ItemsControl をラップします。

<ScrollViewer>
   <ItemsControl ItemsSource="{Binding YourItemsCollection">
      <ItemsControl.ItemTemplate>    
          <DataTemplate>                
             <CheckBox  Content="{Binding Name}"/>
          </DataTemplate>
      </ItemsControl.ItemTemplate>
   </ItemsControls>
</ScrollViewer>
于 2011-05-05T17:18:26.763 に答える
0

リンクされた質問(WPF ListBoxItem選択の問題)に対して選択された回答は、クリーンな解決策を提供します!同じシナリオで立ち往生しました->あなたの質問を見つけました->救済策で他のものを見つけました。HTH!

于 2012-12-12T16:01:46.723 に答える