Jim*_*elo 1 c# wpf xaml binding boolean
我一直在研究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;
}
Run Code Online (Sandbox Code Playgroud)
XAML:
<TextBox ... IsEnabled="{Binding Source=MyApp, Path=Downloaded}" />
Run Code Online (Sandbox Code Playgroud)
WPF无法解析该Source.如果您在XAML中指定Source,它通常是XAML中其他位置的资源(例如ObjectDataProvider).MyApp实际上是来自Window对象的路径,而不是源本身.
你可能想要的是一个多部分路径:
{Binding Path=MyApp.Downloaded}
Run Code Online (Sandbox Code Playgroud)
但是,你仍然会遇到一些问题:
另请注意,您必须在App类上实现INotifyPropertyChanged,并为Downloaded属性引发PropertyChanged.