FindControl似乎只引用网格的名称,而不是网格内的列名称。我找不到任何有关FindControlInCollection的文档或示例。Lightswitch - 隐藏列
在这一点上,我没有任何复杂的逻辑来包装它。只需要隐藏列。我使用C#和VS更新2
FindControl似乎只引用网格的名称,而不是网格内的列名称。我找不到任何有关FindControlInCollection的文档或示例。Lightswitch - 隐藏列
在这一点上,我没有任何复杂的逻辑来包装它。只需要隐藏列。我使用C#和VS更新2
在屏幕激活时,使用此代码块:
IControlItemProxy
。using
指令添加到System.Windows.Controls
。。
partial void ScreenName_Activated()
{
IContentItemProxy proxy = this.FindControl("NameOfGrid");
proxy.ControlAvailable += new EventHandler<ControlAvailableEventArgs>((s1, e1) =>
{
DataGrid dataGrid = (DataGrid)e1.Control;
dataGrid.Columns[0].Visibility = System.Windows.Visibility.Collapsed;
dataGrid.Columns[1].Visibility = System.Windows.Visibility.Collapsed;
});
}
布赖恩的答案包含你所需要的。
FindControl只得到代理的控件。虽然有几件事情可以使用它来设置,但控制的唯一方法是通过代理的ControlAvailable处理程序访问它,该处理程序提供对其参数ControlAvailableEventArgs中的基础控件的引用。
此外,你可以看到,你实际上并没有通过了在电网中使用的控件集列的可见性,您可以设置使用它的DataGrid中的列集合,而不是直接。
+1谢谢Yann进一步阐述 –
没问题。我在这里尽我所能提供帮助。 :-) –