WPF样式中的DataTrigger绑定

我在WPF中有以下Button和Style,我需要在DataTrigger部分中概括Binding,因为我在同一个Window中有近10个相似的按钮,每个按钮应绑定到不同的属性(SelectedPositions,SelectedAgencies,…. )。 有可能实施吗?

你能给我一个你解释的例子吗?

当然,

1 – 使用标签

在您的Style DataTrigger为:

  ...  

至于用法:

  

2 – 使用附属物

“local:”是指应用程序的xaml名称空间别名,或者如果使用不同的名称空间,则声明MyCustomPropertyCollection的名称空间。

后台代码:

 public class MyCustomPropertyCollection { public static readonly DependencyProperty SomeStringProperty = DependencyProperty.RegisterAttached( "SomeString", typeof(string), typeof(MyCustomPropertyCollection), new FrameworkPropertyMetadata(string.Empty)); public static void SetSomeString(UIElement element, string value) { element.SetValue(SomeStringProperty, value); } public static string GetSomeString(UIElement element) { return (string)element.GetValue(SomeStringProperty); } } 

Style.DataTrigger

  ...  

用法:

  

3 – 正常依赖属性

自定义Button类:

 public class MyButton : Button { public static readonly DependencyProperty SomeStringProperty = DependencyProperty.Register( "SomeString", typeof(string), typeof(MyButton), new FrameworkPropertyMetadata(string.Empty)); public string SomeString { get { return (string)GetValue(SomeStringProperty); } set { SetValue(SomeStringProperty, value); } } } 

xaml中的样式不仅需要更新DataTrigger还需要Style定义。

切换

  

  

Style.DataTrigger

  ...  

用法:

  

Tag方法不受欢迎。 “附加属性”更容易实现,但并不像依赖性指标那样明确,因为具有普通DP的自定义类和AP也会过度使用。 选择你喜欢的东西吧。