ResourceDict поделиться и установить шаблон

Я буду использовать XAMLReader для загрузки экранов wpf.

У меня есть некоторые ControlTemplates для файла Buttons.xaml, и я держу его в общей библиотеке классов (ClassLibrary1). Buttons.xaml выглядит так:

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

   <ControlTemplate x:Key="LeftButton" TargetType="{x:Type Button}">
      // Some codes
   </ControlTemplate>

   <ControlTemplate x:Key="RightButton" TargetType="{x:Type Button}">
      // Some codes  
   </ControlTemplate>
</ResourceDictionary>

В основном проекте WPF эта библиотека добавлена ​​в качестве ссылки.

Мой xaml такой:

<UserControl 
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Width="800" Height="600">

  <Grid>
    <Grid.Resources>
      <ResourceDictionary x:Key="testSource">
        <ResourceDictionary.MergedDictionaries>
           <ResourceDictionary x:Name="s" Source="pack://application:,,,/ClassLibrary1;component/Buttons.xaml" />
        </ResourceDictionary.MergedDictionaries>
      </ResourceDictionary>
    </Grid.Resources>

    <Button Template="{DynamicResource RightButton}" Content="TestBtn" HorizontalAlignment="Left"  Width="100" Height="100" Margin="474,529,0,0"  ></Button>
  </Grid>
</UserControl>

Когда я использую Template="{DynamicResource RightButton}", шаблон загружается неправильно (на самом деле на экране нет никаких признаков кнопки).

Также нет ошибки при загрузке ресурсов.

Я не мог найти, что я должен использовать, чтобы загрузить шаблон на эту кнопку. Может кто-нибудь мне помочь?

0 ответов

Другие вопросы по тегам