gpt4 book ai didi

c# - WPF 4.5 绑定(bind)到静态属性

转载 作者:太空宇宙 更新时间:2023-11-03 10:50:10 31 4
gpt4 key购买 nike

我的类中有一个静态属性,比如

  public partial class ShellWindow
{
private static Visibility progressbarVisibility = Visibility.Collapsed;
public static Visibility ProgressbarVisibility
{
get { return progressbarVisibility; }
set
{
if (progressbarVisibility == value) return;
progressbarVisibility = value;
RaiseStaticPropertyChanged("ProgressbarVisibility");
}
}
public static event EventHandler<PropertyChangedEventArgs> StaticPropertyChanged;
public static void RaiseStaticPropertyChanged(string propName)
{
EventHandler<PropertyChangedEventArgs> handler = StaticPropertyChanged;
if (handler != null)
handler(null, new PropertyChangedEventArgs(propName));
}
}

我正在代码隐藏中创建一个控件,并希望将其与此属性绑定(bind)。目前我是这样做的

var binding = new Binding("ShellWindow.ProgressbarVisibility") { Mode = BindingMode.TwoWay };
binding.Source = this;
progressbar = new CircularProgressBar ();
progressbar.SetBinding(VisibilityProperty,
binding);

此绑定(bind)无效。我很想关注这个article但我没有明白我做错了什么。

最佳答案

在 .NET 4.5 中,您可以将静态属性的更改通知 WPF,但我认为这与您通常处理属性更改的方式不同。您必须为每个可以通知更改的静态属性创建事件。该事件必须以属性名称为标题,并具有 PropertyChanged 后缀。

我发现这篇文章可能对您有所帮助:http://10rem.net/blog/2011/11/29/wpf-45-binding-and-change-notification-for-static-properties

关于c# - WPF 4.5 绑定(bind)到静态属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21730927/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com