как использовать конвертер внутри ResourceDictionary

У меня есть конвертер, который отлично работает, когда я использую его как 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>

person Musaab    schedule 07.08.2011    source источник


Ответы (1)


Просто создайте новый, если конвертер нужен для стиля, просто используйте для него Style.Resources. Или вы можете использовать синтаксис элемента:

<Setter.Value>
    <Binding Path="(Validation.Errors).CurrentItem"
             RelativeSource="{RelativeSource Self}">
        <Binding.Converter>
            <local:ValidationErrorConverter />
       </Binding.Converter>
    </Binding>
</Setter.Value>
person H.B.    schedule 07.08.2011
comment
да, но я должен сделать это тогда для каждого стиля управления, я хочу установить его один раз и применить ко всем элементам управления, если мне нужно повторить их в ResourceDictionary, я мог бы просто сделать это, как я указал в коде, который в моем вопросе сообщение - person Musaab; 07.08.2011
comment
@Musaab: Если вы поместите что-то в Application.Resources в App.xaml, вы можете ссылаться на него отовсюду, используя StaticResource, может быть, это поможет, не совсем уверен, что вы имеете в виду ... - person H.B.; 07.08.2011
comment
Я помещаю ResourceDictionary в свой App.Resources, чтобы действовать как мой DynamicResource. если я помещу ‹local:ValidationErrorConverter x:Key=validationErrorConverter/› также внутри App.Resources, возникло исключение, я отредактирую свой вопрос, чтобы лучше объяснить его - person Musaab; 07.08.2011
comment
Спасибо, я нашел то, что искал, синтаксис элемента usine - person Musaab; 07.08.2011