gpt4 book ai didi

wpf - XamDataGrid 列可见性无法使用 MVVM

转载 作者:行者123 更新时间:2023-12-04 20:50:32 26 4
gpt4 key购买 nike

我正在尝试在 MVVM 体系结构中实现 XamDataGrid 列可见性,但它似乎不起作用。

我正在执行以下操作:

为未绑定(bind)的字段添加 Visiblility 属性 -

<igDP:UnboundField Name="gridCustomerId" 
Label="ID"
Binding="{Binding customerid,
Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged}"
Visibility="{Binding ShowCustomerIDColumn,
Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged}">

在我的 View 模型中,添加一个可见性类型的属性:
//ToShow CustomerID Column
private Visibility showCustomerIDColumn;
public Visibility ShowCustomerIDColumn
{
get
{
return showCustomerIDColumn;
}

set
{
showCustomerIDColumn=value;
InvokePropertyChanged("ShowCustomerIDColumn");
}
}

然后在命令处理程序中使用以下代码:
if(ShowCustomerIDColumn == Visibility.Hidden) 
ShowCustomerIDColumn = Visibility.Visible;
else
ShowCustomerIDColumn = Visibility.Hidden;

InvokePropertyChanged("ShowCustomerIDColumn");

有人有解决方案吗?

干杯,
安舒曼

最佳答案

可见性在这里不起作用的主要原因是可见性不是 Fields 类中的依赖属性(UnboundField 类派生自 Field 类)不同于其他属性。

查看可见性属性

See visibility property

请参阅支持绑定(bind)的 Label/RowSpan 属性

See Label Property that support binding

您需要在 c# 代码中设置可见性 (在某些行为或事件背后的代码中):

fieldlayout.Fields[node.Name].Visibility = node.Visibility ? Visibility.Visible : Visibility.Collapsed;

关于wpf - XamDataGrid 列可见性无法使用 MVVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11105461/

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