wpf让cs文件中设置的listBox双向绑定xmal文件中的listBox
时间: 2024-10-28 22:11:11 浏览: 8
在WPF中,实现ListBox(列表框)的双向数据绑定通常涉及以下几个步骤:
1. 定义数据模型:首先,你需要创建一个包含你想要显示的数据的类,比如一个包含字符串的`ObservableCollection<T>`(T是你自定义的对象类型)。
```csharp
public class MyItem
{
public string Name { get; set; }
}
ObservableCollection<MyItem> items = new ObservableCollection<MyItem>();
```
2. 将数据模型绑定到XAML:在`.xaml`文件中,将`ListBox.ItemsSource`属性设置为你的数据模型,并使用`DataTemplate`来展示每个项目。
```xml
<ListBox x:Name="myListBox">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
```
3. 在`.cs`文件中,设置双向数据绑定:添加`INotifyPropertyChanged`接口到你的数据模型类,然后在添加、删除或更新数据时通知数据绑定。
```csharp
public class MyItem : INotifyPropertyChanged
{
private string name;
public string Name
{
get => name;
set
{
if (value != name)
{
name = value;
OnPropertyChanged("Name");
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
// 现在,当你的data model改变时,ListBox会自动更新
items.Add(new MyItem { Name = "Item 1" });
```
阅读全文