C# WPF 4.5与静态属性的绑定

C# WPF 4.5与静态属性的绑定,c#,wpf,xaml,binding,C#,Wpf,Xaml,Binding,我的类中有一个静态属性,如 public partial class ShellWindow { private static Visibility progressbarVisibility = Visibility.Collapsed; public static Visibility ProgressbarVisibility { get { return progr

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

  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));
     }
    }
此绑定不起作用。
我试图遵循这一点,但我没有发现我做错了什么。

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


我发现这篇文章可能对你有所帮助:

看看这篇文章,我认为它会有帮助:
var binding = new Binding("ShellWindow.ProgressbarVisibility") { Mode = BindingMode.TwoWay };
  binding.Source = this;
  progressbar = new CircularProgressBar ();
  progressbar.SetBinding(VisibilityProperty,
                             binding);