1

目前对项目之间的剪切和粘贴转换器感到有点无聊。

有什么方法可以使用具有转换器作为字段/属性的单个转换器对象?

例如:

<Application.Resources>
    <sharedLib:Converters
        x:Key="Converters" />
</Application.Resources>

<TextBlock Text="{Binding Target, Converter={StaticResource Converters.MakeAllCaps}}" />

如果没有,那么是否有人对如何批量导入转换器有任何建议?

4

1 回答 1

2

您可以像这样在资源字典中定义所有转换器:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:loc="...">

    <loc:BooleanToVisibilityConverter x:Key="BooleanToVisibility" />
    <loc:MakeAllCapsConverter x:Key="MakeAllCaps" />

    <!-- Define all the common converters here -->
</ResourceDictionary>

现在您可以通过MergedDictionaries以下方式在任何地方导入此资源字典:

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="Converters.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

<TextBlock Text="{Binding Target, Converter={StaticResource MakeAllCaps}}" />
于 2012-02-21T12:40:29.213 回答