2010-12-22 70 views
1

我已經爲類添加了一個基本的自動屬性,並且我希望該屬性在樹視圖的SelectedItem發生更改時進行設置。所以,我在XAML這個地方添加到Resources創建依賴項屬性而不繼承DependencyObject

<myns:MyClass x:Key="MyClassResource" MyProperty="{Binding ElementName=treeView, Path=SelectedItem, Mode=OneWay}" /> 

但是當我嘗試運行它,我得到一個異常:「只能在一個依賴屬性設定有約束力的」。現在,依賴屬性需要繼承關閉DependencyObject,但MyClass已經繼承一個類!我不需要所有的雙向綁定的東西,我只想要的是隻要SelectedItem發生變化,該值就會被複制到MyProperty中。

我怎樣才能以簡單的方式做到這一點?

回答

1

您可以使MyProperty成爲一個常規的CLR屬性,在您的treeView的SelectedItem屬性中定義綁定,將綁定模式設置爲OneWayToSource,這會導致它將更改推送到您的類的MyProperty屬性。

+0

當我嘗試這個時,我得到'SelectedItem屬性是隻讀的'錯誤... – thecoop 2010-12-22 17:29:06