2012-03-14 58 views
0

是否有可能使控件成爲全局(或公用),以便每個窗口都可以訪問位於窗口中的該控件。換句話說,我如何在Windows內訪問該控件?製作控件「全局」

+6

你可能不應該那樣做。 – 2012-03-14 13:12:54

回答

2

我不知道你的意圖是什麼,但我猜測是要更新控件實例的可視狀態(UI)(姑且稱之爲C1)窗口內(姑且稱之爲它可以從其他窗口中的其他控件訪問它W1)。

假設情況如此,.NET框架已經包含了您需要的一切:Events and Delegates

當在窗口/控制某些數據的變化應該觸發的變化在C1,該窗口/控制應觸發該C1監聽和與委託處理的事件。 UI更新將在所述代理中發生。

+0

內容是將窗口的標題作爲另一個窗口中選定列表框項目的文本。或者,'this.Title = listBox.SelectedItem.ToString();' – Shibli 2012-03-14 13:22:45

+0

是的,這幾乎是一個事件和代表的教科書案例。 – 2012-03-14 13:25:02

+0

是的 - 所以在包含listBox的窗口中定義一個事件,使用包含標題的自定義EventArgs子類,並在要更改標題欄的窗口中訂閱該事件。如果兩個窗口都是使用相同的線程創建的,那可能就是您所需要做的。 – tomfanning 2012-03-14 13:25:46

0

我真的不會做這樣的事情,但仍...

您是否嘗試過您控制的x:FieldModifier屬性設置爲public