我有一个类似这样的对象:
public class Item
{
public string Name;
public int Id;
public int Quantity;
public decimal Volume;
public decimal Cost;
}
我想创建一个可重用的用户控件,该控件将获取这些对象的列表并将其显示在datagrid中。诀窍在于,我想为控件的每个实例指定在数据网格中显示哪些属性。不幸的是,我的WPF技能不能胜任这些任务,并且我不想为要使用的每种组合创建特定的控件,因为这对于非常相似的代码项来说需要大量工作。对于如何实现此目标的指针的任何帮助,将不胜感激。
答案 0 :(得分:0)
您可以使用数据网格的Columns属性与列进行交互,并隐藏不需要的列。
datagrid.Columns.RemoveAt(IndexOftheColumn);
或者如果您为列命名
datagrid.Columns.RemoveAll(x => x.Name = "column name");
或者如果您以后可能需要专栏
datagrid.Columns[IndexOftheColumn].Visibility = Visibility.Collapsed;
也可以使用带有绑定的纯Xaml进行此操作,但是由于您是Wpf的新手,因此建议您首先在后面的代码(Wpf控件的.cs)中进行此操作。
关于选择要隐藏的列,您可以在控件的构造函数中或使用绑定传递要删除的列的名称列表。有很多方法可以做到这一点。
或者您可以相反地做,并根据需要动态添加列。
https://www.learnopencv.com/why-does-opencv-use-bgr-color-format/