我想知道如何使用Visual Studio提取(获取副本)给定控件的默认模板。我知道这可以通过Expression Blend(右键单击一个控件,“编辑模板” - >>“编辑副本...”)来完成,然后在我的Xaml中复制默认控件模板。但这可以用Visual Studio完成吗?
答案 0 :(得分:75)
2015年更新并附有明确说明
在Visual Studio 2013中,只需几个简单的步骤即可获得控件的默认ControlTemplate
。
在WPF设计器中,选择相关控件,或将鼠标光标放在XAML中的相关控件上。
按 F4 打开属性窗口。
打开其他类别以查找模板属性,或在窗口顶部的搜索字段中输入模板
点击 Template 字段右侧的小方块,然后选择转换为新资源... 选项:
ControlTemplate
命名,并决定要将其定义在何处:
答案 1 :(得分:33)
从Visual Studio - 右键单击控件,选择属性
在属性窗口中查找模板属性并右键单击它, 选择提取资源值
这将在XAML中创建模板的副本供您使用。
答案 2 :(得分:9)
为了更新这个问题,在VS 11中,XAML设计器允许您像Expression Blend一样执行此操作。
答案 3 :(得分:2)
据我所知,这是不可能的。但是,您可以使用Show Me The Template查看给定控件的默认模板。
答案 4 :(得分:1)
在VS19中,我无法通过属性来做到这一点。
但是,我能够在设计模式Edit Template
和Edit a Copy
上右键单击控件。
答案 5 :(得分:0)
要记住的一件事:如果您已经在某个地方定义了一个定位给定控件的样式,那么所有上述选项都将被禁用。我在App.xaml文件中有以下代码:
<Application.Resources>
<Style TargetType="Button">
<Setter Property="IsTabStop" Value="False"/>
</Style>
</Application.Resources>
我拉着我的头发试图找出为什么要编辑副本......&#34;和&#34;转换为新资源...&#34;我的Button(在一个完全不同的文件中定义)禁用了其他答案中描述的选项。我为Button注释了上面的样式代码,突然两个选项都不再被禁用了。故事的道德:如果代码中的任何地方已存在该元素的样式,VS将不会为您生成包含模板副本的样式。