for*_*yez 52 wpf xaml visual-studio
我想知道如何使用Visual Studio提取(获取副本)给定控件的默认模板.我知道这可以通过Expression Blend(右键单击控件,"编辑模板" - >"编辑副本...")来完成,然后在我的Xaml中复制默认控件模板.但这可以用Visual Studio完成吗?
She*_*dan 81
2015 update with clear instructions
在Visual Studio 2013中,ControlTemplate只需几个简单步骤即可获得控件的默认值.
在WPF设计器中,选择相关控件,或将鼠标光标放在XAML中的相关控件上.
按F4以打开"属性"窗口.
打开" 杂项"类别以查找" 模板"属性,或在"窗口"顶部的搜索字段中键入" 模板 ".
单击Template字段右侧的小方块,然后选择Convert to New Resource ...选项:

ControlTemplate为要添加的新名称命名并确定要在其中定义的位置:
Roy*_*del 33
从Visual studio - 右键单击控件,选择属性,
在属性窗口中查找模板属性并右键单击它,选择"将值提取到资源"
这将在XAML中创建模板的副本供您使用.
要记住的一件事是:如果您已经在某个位置定义了针对给定控件的样式,则上述所有选项都将被禁用。我的 App.xaml 文件中有以下代码:
<Application.Resources>
<Style TargetType="Button">
<Setter Property="IsTabStop" Value="False"/>
</Style>
</Application.Resources>
Run Code Online (Sandbox Code Playgroud)
我费尽心思试图弄清楚为什么其他答案中描述的edit a copy...和选项对我的按钮(它是在一个完全不同的文件中定义的)被禁用。convert to new resource...我注释掉了按钮的上述样式代码,突然两个选项都不再被禁用。
这个故事的寓意是:如果代码中任何地方已经存在该元素的样式,VS 不会为您生成包含模板副本的样式。