![]() |
1
3
这里有一个用于布尔值的快速通用转换器,允许您为任何类型的属性指定一个值为true,为false指定不同的值。 [ValueConversion(typeof(bool), typeof(object))] public class BooleanValueConverter : IValueConverter { public object FalseValue { get; set; } public object TrueValue { get; set; } #region IValueConverter Members public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { return (bool)value ? this.TrueValue : this.FalseValue; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { return object.Equals(this.TrueValue, value) ? true : false; } #endregion } 像这样使用它。 <SolidColorBrush x:Key="TrueBrush" Color="Green" /> <SolidColorBrush x:Key="FalseBrush" Color="Red" /> <local:BooleanValueConverter x:Key="BooleanBackground" TrueValue="{StaticResource TrueBrush}" FalseValue="{StaticResource FalseBrush}" /> ... Background="{Binding Path=Some.PropertyPath.Ending.With.A.Boolean, Converter={StaticResource BooleanBackground}}" /> |
![]() |
2
4
您可以使用DataTrigger:
|
![]() |
3
1
您可以使用DataTemplateSelector来实现这一点,它有两个具有不同背景的模板。 更好的方法可能是将background属性绑定到布尔值,并使用一个ivalueConverter,它将返回适当的颜色。
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 6 月前 |
![]() |
Barta · WPF MVVM不更新视图 7 月前 |
![]() |
Denis Ivanov · WPF控件在属性更改时不会更新 7 月前 |
![]() |
codymanix · WPF:TextBlock周围可见小边框? 7 月前 |
![]() |
Nostromo · 来自背景对象的工具提示 11 月前 |
![]() |
Nuvolari · 从可观测集合添加/删除时出现对象处理异常 1 年前 |
![]() |
CCarter · 只能在设计器中DependencyObject的DependencyProperty上设置显示“Binding”的WPF ICommand DependencyProperties[重复] 1 年前 |
![]() |
Thern · 在UI线程(WPF)上的void方法中调用异步函数 1 年前 |