如何在ResourceDictionary中使用转换器

本文关键字:转换器 ResourceDictionary | 更新日期: 2023-09-27 18:04:48

我有一个转换器,工作得很好,当我使用它作为StaticResource在我的窗口如下

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

我有一个定义我的控件ControlTemplates和Styles的ResourceDictionary,我不知道在哪里引用我的转换器作为一个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>

如何在ResourceDictionary中使用转换器

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

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