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

时间:2009-09-07 13:43:57

标签: wpf data-binding

我的App.xaml.cs中有一个名为Property的{​​{1}},其中包含用户详细信息。 我已阅读here,您不能在App类上拥有依赖项属性。

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

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

User

这显然只适用于IsEnabled="{Binding Path=User, Converter={StaticResource hasAccessConverter}, ConverterParameter=Mid}" 上的属性。我想访问应用程序上的属性。 如果我实现DataContext,有人可以向我展示绑定到App.xaml.cs属性的示例吗?

由于 -Oliver

3 个答案:

答案 0 :(得分:23)

  

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

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

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

IsEnabled="{Binding Path=User, Source={x:Static Application.Current}}"

答案 1 :(得分:4)

要在C#中以编程方式访问它,您可以这样做:

((App)Application.Current).YourMethod
((App)Application.Current).YourProperty

答案 2 :(得分:0)

您可以使用自定义转换器在Silverlight中以声明方式绑定到Application.Current。

请参阅我的博文here