7

我是 WPF 的新手,对于许多人来说,下面的问题可能看起来很愚蠢,请原谅我。

如何在 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”

有人可以帮我吗?

谢谢!

4

2 回答 2

13

DependencyProperties 只能在 DependencyObjects 上创建,并且由于 Application(您的 App 类继承自)没有实现它,因此您不能直接在 App 类上创建 DependencyProperty。

我假设您希望此属性支持绑定。如果是这种情况,您有两种选择:

  1. 在 App.xaml.cs 中实现 INotifyPropertyChanged
  2. 使用您的属性创建一个 DependencyObject 派生类,并将其公开为您的应用程序的标准只读属性。然后可以通过“dotting-down”将属性成功绑定到它们。即如果你的新属性被称为属性,你可以像这样绑定:
   <TextBlock Text="{Binding Properties.Temp}" />

如果该属性需要成为绑定的目标,那么选项 #2 是您最好的选择。

于 2009-08-28T21:36:24.457 回答
1

包含依赖属性的类必须继承自 DependencyObject。

于 2009-08-28T21:25:07.257 回答