所以我喜欢这样的事实:自定义控件的外观可以在generic.xaml中重新定义,所以我想创建一个。但我的问题是,你最初如何设计(使用设计师)寻找自定义控件?与用户控件不同,它没有附加的xaml / designer窗口。那么必须在代码中设计它吗?
答案 0 :(得分:2)
您创建了一个ResourceDictionary
XAML
文件,您可以在其中为控件定义CustomTemplate
/ Style
,然后在Generic.xaml
中合并所有此类词典字典。
例如,定义一个控件样式:
<ResourceDictionary
xmlns="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Grid x:Name="RootElement" >
<ContentPresenter
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}"
Foreground="{TemplateBinding Foreground}"
VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
在您的Generic.xaml
:
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="MyButtonStyle.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
结果应该是类型Button
的控件现在使用指定的样式呈现,即使在IDE设计器中也是如此。