如何在ResourceDictionary中使用转换器

时间:2011-08-07 08:53:56

标签: c# wpf xaml resourcedictionary staticresource

当我在Window上将它用作StaticResource时,我有一个很好的转换器,如下所示

<UserControl.Resources>
           <local:ValidationErrorConverter x:Key="validationErrorConverter"/>       
</UserControl.Resources>

我有一个ResourceDictionary来定义我的控件ControlTemplates和Styles,我无法弄清楚在哪里引用我的转换器作为StaticResource,以便能够在我的样式上使用它,如下所示

<Style.Triggers>
        <Trigger Property="Validation.HasError" Value="true">
            <Setter Property="ToolTip" Value="{Binding 
RelativeSource={RelativeSource Self}, 
Path=(Validation.Errors).CurrentItem, 
Converter={StaticResource HERE??}}"/>
        </Trigger>
    </Style.Triggers>

1 个答案:

答案 0 :(得分:13)

只需创建一个新的,如果样式需要转换器,只需使用Style.Resources即可。或者您可以使用元素语法:

<Setter.Value>
    <Binding Path="(Validation.Errors).CurrentItem"
             RelativeSource="{RelativeSource Self}">
        <Binding.Converter>
            <local:ValidationErrorConverter />
       </Binding.Converter>
    </Binding>
</Setter.Value>