我为复选框修改了listBox。我想将selectedItem
绑定到支票上,以便我可以使用$WPFlbSiteList.SelectedItem
作为选择要检查的商品的基础。
基本上,我已经生成了一个列表,我需要将检查等同于所选项目。此选定项目还需要以多选容量工作,而不是一次一个。
<ListBox x:Name="lbSiteList" SelectionMode="MultiExtended" Margin="355,45,411,1014" ItemsSource="{Binding .}">
<ListBox.ItemTemplate>
<DataTemplate>
<CheckBox Content="{Binding .}" IsChecked="{Binding RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}}, Path=IsSelected}" Margin="2,2,0,0"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我的功能是写入控制台选中了哪些选中的项目。
$WPFbtnUpdate.Add_Click({
#List the sites that are ticked
foreach ($WPFlbSiteList.Items in $WPFlbSiteList){
$x=$WPFlbSiteList.SelectedItems
write-host $x
}
})
答案 0 :(得分:1)
如评论中所述,您可以将复选框IsChecked
值绑定到其相对祖先(列表框)的IsSelected
,其中包含:
<CheckBox IsChecked="{Binding RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}}, Path=IsSelected" />
然而,您真正的问题似乎是您使用ListBox的无效值&#39; SelectionMode
property
在WPF中,valid selection modes是:
Extended - The user can select multiple consecutive items while holding down the SHIFT key. Multiple - The user can select multiple items without holding down a modifier key. Single - The user can select only one item at a time.