我有一些數據的屏幕。在屏幕內部,我有兩個自定義的 控件(在左側和右側)。使用Lightswitch,Silverlight和自定義控件
我需要做的是以下幾點:
綁定一些從數據庫的一些控件的第一個自定義的控制數據。 (填表,組合框等,不是那麼多的問題)
然後用戶可以選擇列表中的一個條目,按下按鈕 - >第二個CustomControl現在應該是可見的;根據選擇從數據庫請求一些數據並動態創建並顯示圖表。
所以我知道如何構建圖表並構建控件。但是,如何通過代碼從屏幕訪問數據 並從第一個CustomControl中訪問另一個CustomControl?
編輯:
事情我發現。從屏幕
訪問控制
this.FindControl("yourControl");
做一些與控制:
this.FindControl("yourControl").ControlAvailable += ((o,e) => { YourControlType myControl = e.Control as YourControlType; });
訪問屏幕數據
IContentItem dataContext = this.DataContext as IContentItem; IScreenObject screen = dataContext.Screen; IScreenProperty prop = screen.Details.Properties["yourProperty"]; VisualCollection<yourProperty> items = prop.Value as VisualCollection<yourProperty>;
顯示新的屏幕
Application.Current.Details.Dispatcher.BeginInvoke(() => Application.Current.ShowGraphScreen(reportItem.BlockID));
也許這將幫助別人。
+1僅僅是關於如何訪問屏幕數據的小寶石。由於自定義控件現在必須位於單獨的庫中,並且添加了對客戶端應用程序的生成'Application.common'的引用,並結合您的示例,這是非常有幫助的。 – 2013-06-27 11:36:38
此鏈接有幫助嗎? [自定義控件綁定](http://social.msdn.microsoft.com/Forums/en/lsextensibility/thread/394d7968-5210-441a-bf29-3da7001af07d) – 2012-08-14 02:50:28