gpt4 book ai didi

wpf - C# Wpf 编辑 Datagrid 不会更新它的 itemssource

转载 作者:行者123 更新时间:2023-12-04 19:28:22 25 4
gpt4 key购买 nike

我有一个像这样的 ObservableCollection,

ObservableCollection<Item> Found_Items = new ObservableCollection<Item>();

public struct Item
{
public bool Enabled { get; set; }
public BitmapImage ItemIcon { get; set; }
public string Path { get; set; }
public string Size { get; set; }
}

我正在像这样设置 Datagrid 的 itemsource,
FoundItemsDatagrid.ItemsSource = Found_Items;

我在 Datagrid 中有一个这样的复选框,
<DataGridTemplateColumn Header="Path" Width="*" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DockPanel>
<CheckBox IsChecked="{Binding Path=Enabled, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
</DockPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

我想,每当我选中或取消选中 datagrid 上的复选框时,它都应该更新我的 ObservableCollection。

什么是最简单的方法来做到这一点?

谢谢..

最佳答案

我按照说明操作 HERE .

我像这样将“Item”结构更改为“Item”类;

 public class Item : INotifyPropertyChanged
{
private bool _Enabled;
private BitmapImage _ItemIcon;
private string _Path;
private string _Size;

public event PropertyChangedEventHandler PropertyChanged;

public Item(bool enabled, BitmapImage itemIcon, string path, string size)
{
_Enabled = enabled;
_ItemIcon = itemIcon;
_Path = path;
_Size = size;
}

public bool Enabled
{
get { return _Enabled; }
set
{
_Enabled = value;
this.NotifyPropertyChanged("Enabled");
}
}

public BitmapImage ItemIcon
{
get { return _ItemIcon; }
set
{
_ItemIcon = value;
this.NotifyPropertyChanged("ItemIcon");
}
}

public string Path
{
get { return _Path; }
set
{
_Path = value;
this.NotifyPropertyChanged("Path");
}
}

public string Size
{
get { return _Size; }
set
{
_Size = value;
this.NotifyPropertyChanged("Size");
}
}



private void NotifyPropertyChanged(string name)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(name));
}
}

现在一切都很完美。

关于wpf - C# Wpf 编辑 Datagrid 不会更新它的 itemssource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25706114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com