【发布时间】:2016-06-06 21:21:16
【问题描述】:
我有一个如下的列表框:
<ListBox x:Name="listBox" HorizontalAlignment="Left" Height="385" Margin="21,138,0,0" VerticalAlignment="Top" Width="273" ItemsSource="{Binding Path=locationList}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Button Name="btnDelete" Click="btnDelete_Click" Width="15" Height="15" HorizontalAlignment="Center" VerticalAlignment="Center" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Content="x" />
<CheckBox Name="checkBox" />
<TextBlock Name="textBox" Text="{Binding}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我想做的是为这个列表框的特定项目设置复选框。
我正在尝试这样做:
private void button4_Click(object sender, RoutedEventArgs e)
{
for(int i = 0; i < listBox.Items.Count; i++)
{
listBox.Items[i].checkBox = false;
}
}
我知道我做错了。我想将其转换为项目对象,然后将项目的属性(此复选框)设置为 false。有人可以纠正我吗?提前谢谢你。
编辑:
在我尝试这样做之前:
foreach (var item in listBox.SelectedItems)
{
item.
}
但我得到的所有可能性都只是标准方法:Equals、GetHashCode、GetType、ToString...我如何引用复选框?
此外,我将为我的问题提供见解。我想通过文本在列表框(项目)中查找特定项目,然后更改该项目的复选框(列表框中的同一行)。 要实现的第二个逻辑是将所有行设置为选中或未选中(这是我现在要做的)。
感谢您的回复。
【问题讨论】:
-
ListBox 你应该改变你的 for 循环以使用 foreach 例如
foreach(var item in listBox.SelectedItems)类似的东西.. -
感谢您抽出宝贵时间 :) 我已编辑帖子作为您的答案。
-
不幸的是,这并没有解决我的问题,因为它适用于 Windows 窗体,并且我使用的是 wpf,但我没有文章中的属性。一般来说,我有列表框标准,它看不到清单或类似的东西。我已经在帖子中展示了上面列表框的构造。问候
-
做一个简单的谷歌搜索来谷歌下面
how to set CheckedListBox items to unchecked C# WPF