大鹏一日同风起,扶摇直上九万里。这篇文章主要讲述Application类的静态成员的绑定属性相关的知识,希望能为你提供帮助。
我有一个类“Application”,它有一个静态成员(MainWindow,继承自DXWindow),如下所示:
public static MainWindow MainWindowInstance
我实例化并显示它:
MainWindowInstance = new MainWindow();
MainWindowInstance.ShowDialog();
MainWindow有一个属性:
private Thickness _localAttachmentsButtonsMargin = new Thickness(0, 0, 5, 0);
public Thickness LocalAttachmentsButtonsMargin {
get {
return _localAttachmentsButtonsMargin;
}
set {
_localAttachmentsButtonsMargin = value;
NotifyPropertyChanged("LocalAttachmentsButtonsMargin");
}
}
【Application类的静态成员的绑定属性】我需要从xaml中的许多其他控件(如UserControls)访问LocalAttachmentsButtonsMargin属性。
到目前为止我尝试的是:
- > 使用x:Static访问它:
Margin="{Binding Path=MainWindowInstance.LocalAttachmentsButtonsMargin, Source={x:Static Application.Current}}"
- > 给UserControl一个x:Name(“UcTmp”),在UserControl中提供一个getter并从后面的代码中访问该属性
Margin="{Binding ElementName=UcTmp, Path=LocalAttachmentsButtonsMargin}}"public Thickness LocalAttachmentsButtonsMargin {
get {
Application.MainWindowInstance.LocalAttachmentsButtonsMargin;
}
}
但它们似乎都不起作用。我想我需要xaml等效于上面给出的getter中的一行代码。
另一个要求是MainWindow中的属性需要是可更新的。理想情况下,如果通过某些代码更新属性,解决方案能够更新通过UserControl表示的视图。
答案由于您只能绑定到属性,因此您应该将
MainWindowInstance
定义为:public static MainWindow MainWindowInstance { get;
set;
}
它不能是一个领域:
public static MainWindow MainWindowInstance;
推荐阅读
- 在使用具有剪切和粘贴功能的Apps脚本时,如何处理Google表单中的新数据()
- ConfigurationManager.AppSettings和Properties.Settings.Default之间有区别吗()
- ConfigurationManager.AppSettings性能问题
- Firebase FCM - 为什么我得到(有效载荷错误,无效的'android'(或'apns')属性)
- 从数据库加载spring boot app属性
- 通过WordPress网站将通知推送到Android应用程序
- Android(OneSignal如何使用自定义图标或应用图标更改通知帐单图标())
- 重复通知GCM android应用程序
- xcode 8.0“将Push Notif(..)添加到您的App ID”警告,同时已添加