如何绑定到一个不同的数据上下文然后继承一个样式值?
How to bind to a different datacontext then the inherited one for the style value?
而不是使用带有 MulitBinding 的许多 DataTriggers 来设置 ListViewItem 的背景颜色:
<DataTrigger Value="4" >
<DataTrigger.Binding>
<MultiBinding Converter="{StaticResource WaitStatus}">
<Binding Path="Checkin" />
<Binding Path="Checkout" />
<Binding Path="Notseen" />
</MultiBinding>
</DataTrigger.Binding>
<Setter Property="Background" Value="{StaticResource GreenBrush}" />
</DataTrigger>
我正在尝试使用附加的 属性 到 return ListViewItem 背景的画笔颜色。代码类似于:
<Style x:Key="listViewItemStyle" TargetType="{x:Type ListViewItem}">
<Setter Property="v:ListViewItemBehavior.MyValue" Value="{Binding testvalue}"/>
<Setter Property="Background" Value="{Binding Path=(v:ListViewItemBehavior).Background}" />
我的目标是第一个 setter 将 ListViewItem 的 DataContext 传送到位于 v:ListViewItemBehavior.MyValue 的附加 属性。附件属性然后计算背景颜色并将结果放入ListViewItemBehavior.Background。
第二个 setter 是从 ListViewItemBehavour 中提取背景颜色并从中设置 ListViewItem 的背景颜色。
附加的 属性、ListViewItemBehaviour 可以正确设置背景颜色,但我不知道如何 return 这种颜色返回到 XAML 第二个 setter。第二个 setter 中值的 {Binding...} 总是在 ListViewItem 的 DataContext 中查找 v:ListViewItemBehavior——我无法让它在 ListViewItemBehaviour 中查找背景颜色.
如何为 Setter 值 属性 使用不同的数据上下文,然后使用从 ListViewItem 继承的数据上下文? (请语法)。
TIA
将 Binding 的 RelativeSource
设置为 Self
,即样式化的 ListViewItem:
<Setter Property="Background"
Value="{Binding Path=(v:ListViewItemBehavior).Background,
RelativeSource={RelativeSource Self}}" />
而不是使用带有 MulitBinding 的许多 DataTriggers 来设置 ListViewItem 的背景颜色:
<DataTrigger Value="4" >
<DataTrigger.Binding>
<MultiBinding Converter="{StaticResource WaitStatus}">
<Binding Path="Checkin" />
<Binding Path="Checkout" />
<Binding Path="Notseen" />
</MultiBinding>
</DataTrigger.Binding>
<Setter Property="Background" Value="{StaticResource GreenBrush}" />
</DataTrigger>
我正在尝试使用附加的 属性 到 return ListViewItem 背景的画笔颜色。代码类似于:
<Style x:Key="listViewItemStyle" TargetType="{x:Type ListViewItem}">
<Setter Property="v:ListViewItemBehavior.MyValue" Value="{Binding testvalue}"/>
<Setter Property="Background" Value="{Binding Path=(v:ListViewItemBehavior).Background}" />
我的目标是第一个 setter 将 ListViewItem 的 DataContext 传送到位于 v:ListViewItemBehavior.MyValue 的附加 属性。附件属性然后计算背景颜色并将结果放入ListViewItemBehavior.Background。
第二个 setter 是从 ListViewItemBehavour 中提取背景颜色并从中设置 ListViewItem 的背景颜色。
附加的 属性、ListViewItemBehaviour 可以正确设置背景颜色,但我不知道如何 return 这种颜色返回到 XAML 第二个 setter。第二个 setter 中值的 {Binding...} 总是在 ListViewItem 的 DataContext 中查找 v:ListViewItemBehavior——我无法让它在 ListViewItemBehaviour 中查找背景颜色.
如何为 Setter 值 属性 使用不同的数据上下文,然后使用从 ListViewItem 继承的数据上下文? (请语法)。
TIA
将 Binding 的 RelativeSource
设置为 Self
,即样式化的 ListViewItem:
<Setter Property="Background"
Value="{Binding Path=(v:ListViewItemBehavior).Background,
RelativeSource={RelativeSource Self}}" />