2013-10-10 36 views
0

我有一個XAML文件,長度超過2k行。我想重構可管理的作品。XAML:重構DataTemplate

在資源節中,我有一個轉換器轉換什麼枚舉的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> 

我已經重構了的DataTemplate到ResourceDictionary中有x:Key="xyDataTemplate"

我的問題是如何在創建它原來的地方?

 <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

這將有助於如果我們可以看到轉換器的屬性的聲明,但現在嘗試:

<converters:SomeConverter x:Key="EnumToDataTemplateConverter" 
          NumericBoxTemplate="{StaticResource xyDataTemplate}"/> 
+0

像XAMeLi說,你應該能夠在你的轉換器創建的DataTemplate的屬性,然後可以通過在XAML中設置值來綁定值 – kbo4sho88

+0

是的,轉換器具有DataTemplate屬性。 – Oszkar

+0

我也有一個相關的問題在這裏:http://stackoverflow.com/questions/19404416/datatemplate-in-resourcedictionary – Oszkar

相關問題