[英]Disable rows in WPF datagrid
我有一个绑定到datagrid的observablecollection。 该集合是从搜索结果中填充的。 我还可以将项目添加到数据网格。 我想禁用行,这些行是原始集合的一部分。 我添加的新行应可编辑。 我的局限性在于,我不能在数据触发器中使用集合中的布尔属性。 有办法吗?
编辑:忘记提及我正在使用MVVM框架。
如果您不能向集合中的项目添加“ IsEnabled”属性,则始终可以创建从这些项目的类/类型继承的新类。
public class MyDataGridPresenterClass : OriginalItemClass
{
public bool IsEnabled { get; set; }
}
并在ObservableCollection
使用这种新type
,没有什么可以阻止您这样做的。当然,每个MyDataGridPresenterClass
也是OriginalItemClass
因为它是从它继承的。
所以你可以有
ObservableCollection<MyDataGridPresenterClass> DataGridItems
{
get { return this.dataGridItems; }
set
{
this.dataGridItems = value;
RaisePropertyChanged("DataGridItems");
}
}
现在,您具有IsEnabled
属性,因此可以在您提到的DataTrigger中使用它,而无需修改OriginalItemClass
,每个人都很高兴。 :) 还有一件事。 只是要清楚:) MVVM不是框架... MVVM是设计模式。 我希望这会有所帮助:)最好的问候和好运:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.