ListBox控件的另一种数据绑定方式
把DataTemplate防止ListBox中的绑定
<ListBox x:Name="ListBoxName">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="4">
<DockPanel>
<TextBlock FontWeight="Bold" Text="ID:" DockPanel.Dock="Left" Margin="5,0,10,0"/>
<TextBlock Text="ID" Foreground="Green" FontWeight="Bold"/>
</DockPanel>
<DockPanel>
<TextBlock FontWeight="Bold" Text="Name:" DockPanel.Dock="Left" Margin="5,0,5,0"/>
<TextBlock Text="名字" Foreground="DarkOrange"/>
</DockPanel>
<DockPanel>
<TextBlock FontWeight="Bold" Text="Age:" DockPanel.Dock="Left" Margin="5,0,5,0"/>
<TextBlock Text="年龄" Foreground="Cyan"/>
</DockPanel>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
后台:
public List<Data> Datas = new List<Data>();
public void DataBinDing()
{
Data data1 = new Data();
data1.Id = 1;
data1.Name = "名字2";
data1.Age = 21;
data1.IsTrue = true;
Data data2 = new Data();
data2.Id = 2;
data2.Name = "名字2";
data2.Age = 22;
data2.IsTrue = true;
Data data3 = new Data();
data3.Id = 3;
data3.Name = "名字3";
data3.IsTrue = true;
data3.Age = 23;
Datas.Add(data1);
Datas.Add(data2);
Datas.Add(data3);
//foreach (var item in Datas.Where(x=>x.IsTrue=true))
//{
// ListBoxName.ItemsSource = Datas;
//}
ListBoxName.ItemsSource = Datas.Where(x => x.IsTrue = true);
类:
public class Data
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public bool IsTrue { get; set; }
}

浙公网安备 33010602011771号