如何使用样式设置器进行多重绑定

时间:2013-04-19 10:45:39

标签: wpf c#-4.0 mvvm multibinding

备用行样式定义为:

<Style TargetType="telerik:GridViewRow">
     <Setter Property="Background" Value="{Binding Color,Converter={StaticResource dataToColorConverter}}">
</Style>

但我想在多个值上更新rowstyle depedninng。我希望实现这样的目标。

<Style>
    <Setter Property="Background" >
               <MultiBinding Converter={StaticResource  dataToColorConverter}>
               <Binding Path="Color"/>
               <Binding ElementName="myListBox" Path="SelectedItem"/>
               </MultiBinding>
    </Setter>
</Style>

但是收到错误“类型'Setter'不支持直接内容。”

1 个答案:

答案 0 :(得分:6)

由于Setter元素不支持直接内容,因此您必须指定要设置Value属性(在XAML中包含“&lt; Setter.Value&gt;”):

<Setter Property="Background" >
    <Setter.Value>
        <MultiBinding Converter="{StaticResource dataToColorConverter}" >
            <Binding Path="Color" />
            <Binding ElementName="myListBox" Path="SelectedItem" />
        </MultiBinding>
    </Setter.Value>
</Setter>