2009-08-28 115 views
7

我是WPF的新手,下面的問題可能會讓很多人看起來很傻,請原諒。app.xaml.cs中的依賴屬性

如何在app.xaml.cs中創建依賴項屬性?

其實我試圖去創造它。下面的代碼,

public static DependencyProperty TempProperty = 
     DependencyProperty.Register("Temp", typeof(string), typeof(App)); 

    public string Temp 
    { 
     get { return (string)GetValue(TempProperty); } 
     set { SetValue(TempProperty, value); } 
    } 

拋出下面的編譯時錯誤:

「的GetValue」這個名字不會在目前情況下

名稱存在「的SetValue」在目前情況下不存在

有人可以幫我嗎?

謝謝!

+2

沒有問題是愚蠢的。至少,不是你的:) – shahkalpesh 2009-08-28 20:06:09

+0

哦......謝謝! :) – Vijay 2009-08-28 20:40:28

回答

13

DependencyProperties只能在DependencyObjects上創建,並且由於Application(你的App類繼承自它)沒有實現它,所以你不能直接在App類上創建一個DependencyProperty。

我假設您希望此屬性支持綁定。如果是這種情況,你有兩個選擇:

  1. 在App.xaml.cs
  2. 執行INotifyPropertyChanged創建它的性質爲DependencyObject派生類,並將其作爲一個標準的只讀財產你的App。這些屬性可以通過「點擊」成功綁定到它們。如果屬性需要成爲一個綁定,然後選擇#2是你最好的選擇目標
<TextBlock Text="{Binding Properties.Temp}" /> 

: 即如果你的新屬性被稱爲屬性,可以綁定像這樣。

+0

正確的猜測!選項-2是我正在尋找的。 它幫助...謝謝! – Vijay 2009-08-28 21:47:41

1

您包含依賴項屬性的類必須從DependencyObject繼承。

+0

所以,我不能在App.xaml.cs.中有依賴屬性。 – Vijay 2009-08-28 21:30:52

+0

您可以添加一個從DepObj繼承的助手類作爲您的App類的屬性。 – 2009-08-28 21:41:50