绑定到App.xaml.cs中的属性

Oli*_*ver 9 data-binding wpf

Property在我的App.xaml.cs中调用User了一个用户详细信息.我在这里读到你不能在App类上拥有依赖属性.

我选择使用App.cs,因为它对整个程序是全局的,并且用于访问控制,但欢迎任何替代方案.

现在我的问题是如何从UserControls和Windows绑定到此属性.

IsEnabled="{Binding Path=User, Converter={StaticResource hasAccessConverter}, ConverterParameter=Mid}"
Run Code Online (Sandbox Code Playgroud)

这显然只适用于DataContext.我想访问应用程序上的属性.如果我实现,有人可以向我展示绑定到App.xaml.cs属性的示例INotifyChanged吗?

谢谢-Oliver

Tho*_*que 27

我在这里读到你不能在App类上拥有依赖属性.

确实你不能,因为Application不继承DependencyObject.但是,没有必要:只有绑定的target属性需要是依赖属性.

如果要绑定到App类的属性,可以这样做:

IsEnabled="{Binding Path=User, Source={x:Static Application.Current}}"
Run Code Online (Sandbox Code Playgroud)

  • 请记住实现 INotifyPopertyChanged 以查看该属性的更改反映在用户界面上。 (2认同)

Gus*_*nti 6

要在C#中以编程方式访问它,您可以执行以下操作:

((App)Application.Current).YourMethod
((App)Application.Current).YourProperty
Run Code Online (Sandbox Code Playgroud)