WPF 中一个列表里每一项有一个checkbox,checkbox根据后台的值设定选中或不选中?
XAML中<ListBoxName="AppListBoxT1"ItemsSource="{Binding}"HorizontalContentAlignment="St...
XAML中
<ListBox Name="AppListBoxT1" ItemsSource="{Binding}" HorizontalContentAlignment="Stretch" ScrollViewer.CanContentScroll="False" VerticalContentAlignment="Top" ScrollViewer.HorizontalScrollBarVisibility="Disabled" BorderThickness="0">
<ListBox.ItemTemplate>
<DataTemplate>
<CheckBox x:Name="shareType" Content="存在" Visibility="{Binding PrivateType}" Width="50" Height="20" HorizontalAlignment="Right" VerticalAlignment="Center" Checked="btnModiPrivate_check" Background="{x:Null}" Margin="0,0,60,-4" Cursor="Hand" ToolTip="选中时表示存在" BorderBrush="Black" IsChecked="{Binding Path=CBIsChecked}" FontFamily="Microsoft YaHei" FontWeight="Bold" Unchecked="PrivateType_Unchecked">
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
后台加载的时候应该怎么写才能根据数据库查询的值来选中或者不选中checkbox呢,新手,请各位大侠指点,谢谢关注。 展开
<ListBox Name="AppListBoxT1" ItemsSource="{Binding}" HorizontalContentAlignment="Stretch" ScrollViewer.CanContentScroll="False" VerticalContentAlignment="Top" ScrollViewer.HorizontalScrollBarVisibility="Disabled" BorderThickness="0">
<ListBox.ItemTemplate>
<DataTemplate>
<CheckBox x:Name="shareType" Content="存在" Visibility="{Binding PrivateType}" Width="50" Height="20" HorizontalAlignment="Right" VerticalAlignment="Center" Checked="btnModiPrivate_check" Background="{x:Null}" Margin="0,0,60,-4" Cursor="Hand" ToolTip="选中时表示存在" BorderBrush="Black" IsChecked="{Binding Path=CBIsChecked}" FontFamily="Microsoft YaHei" FontWeight="Bold" Unchecked="PrivateType_Unchecked">
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
后台加载的时候应该怎么写才能根据数据库查询的值来选中或者不选中checkbox呢,新手,请各位大侠指点,谢谢关注。 展开
1个回答
展开全部
你好好看下binding,可以将CheckBox的ItemSource绑定到一个ICollection集合形式如下
ItemSource={Binding Collect}
其中Collect类似如下结构:
OberservableCollection<DataItem> Collect{get;set;}
Class DataItem : INotifPropertyChanged
{
public bool DataIsChecked{get;set;}
...
}
注意DataItem为了通知界面显示,需要实现INotifPropertyChanged这个接口,然后将CheckBox的IsChecked属性绑定到DataItem的DataIsChecked:形式如下
IsChecked="{Binding DataIsChecked}"
Wpf最关键的就是数据绑定,如果想灵活运用需要扎实的把这块看明白才行,祝您成功
ItemSource={Binding Collect}
其中Collect类似如下结构:
OberservableCollection<DataItem> Collect{get;set;}
Class DataItem : INotifPropertyChanged
{
public bool DataIsChecked{get;set;}
...
}
注意DataItem为了通知界面显示,需要实现INotifPropertyChanged这个接口,然后将CheckBox的IsChecked属性绑定到DataItem的DataIsChecked:形式如下
IsChecked="{Binding DataIsChecked}"
Wpf最关键的就是数据绑定,如果想灵活运用需要扎实的把这块看明白才行,祝您成功
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询