XAML:重构DataTemplate

时间:2013-10-10 10:19:30

标签: c# xaml refactoring datatemplate resourcedictionary

我有一个超过2k行的XAML文件。我想重构可管理的部分。

在资源部分,我有一个将枚举转换为DataTemplate的转换器:

        <UserControl.Resources>
            <converters:SomeConverter x:Key="EnumToDataTemplateConverter">
                <converters:SomeConverter.NumericBoxTemplate>
                    <DataTemplate>
                        ... long template description ...
                    </DataTemplate>
                </converters:SomeConverter.NumericBoxTemplate>
            </converters:SomeConverter x:Key="EnumToDataTemplateConverter">
        </UserControl.Resources>

我已经使用x:Key="xyDataTemplate"

将DataTemplate重构为ResourceDictionary

我的问题是如何在原始位置创建它?

        <UserControl.Resources>

            <ResourceDictionary>
                <ResourceDictionary.MergedDictionaries>
                    <ResourceDictionary Source="XyTemplate.xaml"/>
                </ResourceDictionary.MergedDictionaries>
            </ResourceDictionary>

            <converters:SomeConverter x:Key="EnumToDataTemplateConverter">
                <converters:SomeConverter.NumericBoxTemplate>
                    ???
                </converters:SomeConverter.NumericBoxTemplate>
            </converters:SomeConverter x:Key="EnumToDataTemplateConverter">
        </UserControl.Resources>

1 个答案:

答案 0 :(得分:1)

如果我们能够在转换器中看到属性声明会有所帮助,但现在尝试:

<converters:SomeConverter x:Key="EnumToDataTemplateConverter"
                          NumericBoxTemplate="{StaticResource xyDataTemplate}"/>
相关问题