[英]How to bind CheckBox IsChecked to ListBox of CheckBoxes
我有一個復選框列表和一個復選框,對列表框中的所有項目充當CheckAll / UncheckAll。
如果在列表框綁定中檢查了所有項目,如何檢查chkAll復選框?
我可以在視圖模型中創建一個屬性來實現它。 我想在xaml代碼中執行此操作。
<ListBox Name="listBox" ItemsSource="{Binding mySource}">
<ListBox.ItemTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsSelectedProperty}">
</CheckBox>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<CheckBox Name="chkAll" Content="CheckAll/UnCheckAll" IsChecked ={}/>
我認為您需要具有反映此附加狀態的更高級別視圖模型屬性。 狀態也有三個可能的值,因此請務必將IsThreeState
設置為true,並將其綁定到Nullable<bool>
。
然后在此屬性的setter中,您可以更新所有其他復選框屬性。
對於每個項目的IsSelectedProperty
,您還需要更新三態屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.