Resources WPF窗口模板资源
我正在尝试定义一个窗口模板,该模板可由其他程序集中的窗口使用。我定义了一个窗口模板,并将其存储在某个程序集中的资源字典中。之后,我在XAML中的其他组装窗口定义中使用此模板。看起来模板已被接受,我可以在VS-2010 designer中看到更新的窗口,但当我向该窗口添加新控件时,该控件将从窗口中消失,但仍存在于XAML代码中。我还尝试显式应用相同的模板,效果很好 generic.Xaml的Xaml代码在包含模板定义的项目中,将设置ThemeInfo属性,并且此文件的BuildAction属性为PageResources WPF窗口模板资源,resources,templates,wpf-controls,window,Resources,Templates,Wpf Controls,Window,我正在尝试定义一个窗口模板,该模板可由其他程序集中的窗口使用。我定义了一个窗口模板,并将其存储在某个程序集中的资源字典中。之后,我在XAML中的其他组装窗口定义中使用此模板。看起来模板已被接受,我可以在VS-2010 designer中看到更新的窗口,但当我向该窗口添加新控件时,该控件将从窗口中消失,但仍存在于XAML代码中。我还尝试显式应用相同的模板,效果很好 generic.Xaml的Xaml代码在包含模板定义的项目中,将设置ThemeInfo属性,并且此文件的BuildAction属性为P
<ControlTemplate x:Key="{ComponentResourceKey TypeInTargetAssembly= {x:Type local:DialogResources}, ResourceId=DialogTemplate}">
<Border Width="Auto" Height="Auto" Name="windowFrame"
BorderBrush="#395984"
BorderThickness="1"
CornerRadius="0,20,20,20"
Background="AliceBlue">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<TextBlock Margin="1" Padding="5" Text="Template Window" FontWeight="Bold"/>
<Border Background="#B5CBEF" Grid.Row="1" CornerRadius="0,0,20,20" >
<AdornerDecorator>
<ContentPresenter/>
</AdornerDecorator>
</Border>
</Grid>
</Border>
</ControlTemplate>
DialogResources-是在MyProg.Resources程序集中定义的空类。
现在我在其他程序集中使用此模板,如下所示:
在这个窗口中,我添加了一个按钮,但我无法看到它。当我明确定义TemplateControl(不使用资源)时,我可以看到它
另一个问题是,当在资源中为模板使用TargetType=“{x:Type Window}”时,我遇到以下设计器异常:“'Window'ControlTemplate TargetType与模板类型'WindowInstance'不匹配”。我在Google中找不到与此异常有关的任何内容
请帮助我理解我的代码中有什么错误