我将使用 XAMLReader 加载 wpf 屏幕。
我在Buttons.xaml文件中有一些 ControlTemplates,我将它保存在一个通用类库 (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 项目中,此 dll 被添加为参考。
我的 xml 是这样的:
<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}"模板时没有正确加载(实际上屏幕上没有按钮的迹象)。
加载资源字典也没有错误。
我找不到,我应该使用什么来在此按钮上加载模板。谁能帮我?