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進一步闡述 –
沒問題。我在這裏盡我所能提供幫助。 :-) –