0

次のコードを使用して、リストボックスにチェックボックスのコンテンツを入力しました。

<StackPanel HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="12,105,6,100">
            <ListBox Name="ContactResultsData" ItemsSource="{Binding}" Height="393" Margin="0,0,0,0" >
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <CheckBox  Name="xxx"  Content="{Binding Path=DisplayName, Mode=TwoWay}" Unchecked="xxx_Unchecked" Checked="xxx_Checked"></CheckBox>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
</StackPanel>

ボタンクリックですべてのチェックボックスをチェックしたいので、助けてください。

4

1 に答える 1

4

2 つのオプションがあります。

  1. の にバインドしているコレクション内のオブジェクトに別の (ブール) プロパティを追加しItemsSourceますListBoxIsChecked次に、これをチェックボックスのプロパティにバインドします。完了したら、ボタンのクリックに応答して、コレクションを反復処理し、すべてのプロパティを true に設定するだけで済みます。bool で変更されたプロパティを通知している限り、UI が更新されます。

  2. ListBox のビジュアル ツリーをたどって、チェックボックスを探し、見つかったものすべてをチェックすることができます。

私の説明では、オプション 1 の方が手間がかかるように見えるかもしれませんが、それをお勧めします。

于 2013-03-17T07:51:46.753 に答える