我一直在研究C#4.0 WPF项目,需要弄清楚如何数据绑定布尔值。我在窗口中引用了我的Application.Current对象。我的“App”对象包含一个名为“Downloaded”的布尔字段,如果用户从Web服务下载了信息,则该字段为true。我需要将文本框的IsEnabled字段数据绑定到此Downloaded值。有小费吗?这是我到目前为止所提出的。 (非常感谢任何有用的链接,以更好地学习WPF XAML!)
C#代码:
class MainWindow : Window
{
private App MyApp = App.Current as App;
}
XAML:
<TextBox ... IsEnabled="{Binding Source=MyApp, Path=Downloaded}" />
答案 0 :(得分:5)
WPF无法解析该来源。如果您在XAML中指定Source,它通常是XAML中其他位置的资源(例如ObjectDataProvider)。 MyApp实际上是来自Window对象的路径,而不是源本身。
您可能需要的是多部分路径:
{Binding Path=MyApp.Downloaded}
但是,你仍然会遇到一些问题:
另请注意,您必须在App类上实现INotifyPropertyChanged,并为Downloaded属性引发PropertyChanged。