2010-07-27 38 views
1

想象一下,我有一個文本框,它的文本應該等於機器中正在運行的進程的數量。如何將WPF控件值綁定到方法?

如何在不使用定時器的情況下進行更新?有沒有使用依賴屬性或綁定的方法?

回答

4

我不確定這與綁定到方法有什麼關係。

你必須繼續在一個定時器上調用該方法,只是一樣。

您可以將DataContext設置爲一個實現了INotifyPropertyChanged的對象,並公開一個包含所需數據的屬性(當然,getter可以調用方法)。

如果沒有計時器,您將需要一個數據對象可以訂閱的事件,然後您可以在每次觸發事件時觸發感興趣的屬性發生更改的通知,並綁定到該屬性的UI元素將會被更新。

+0

我以爲WPF會檢查它的值,每次渲染都是週期性的,所以我不必使用計時器,因爲無論如何都會週期性地調用該方法。 – 2010-07-27 16:02:48

+2

不,它不會重新獲取數據,除非通過'.BindingExpression(...).UpdateTarget()'明確告知這樣做或者通知通過'INotifyPropertyChanged'通知更改。 – Jay 2010-07-27 16:08:57