如何使用Visual Studio"合并"XAML文件及其代码隐藏

Mor*_* M. 21 wpf xaml code-behind visual-studio

我有一个名为'MyTemplate.xaml'的XAML文件中定义的模板.此模板使用名为"MyTemplate.cs"的代码隐藏文件.

Mytemplate.xaml:

<ResourceDictionary x:Class="Project.Templates.MyTemplate">
    <DataTemplate ... />
</ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)

MyTemplate.cs:

namespace Project.Templates
{
    public partial class MyTemplate : ResourceDictionary
    {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

在Visual Studio解决方案资源管理器中,这两个文件是并排的.我想要做的是将这两个文件放在一起,就像使用Control及其代码隐藏一样.

是)我有的: 在此输入图像描述

我想拥有什么: 在此输入图像描述

最好的方法是什么?谢谢.

Tho*_*que 38

您需要编辑.csproj文件.找到<Compile>MyTemplate.cs 的元素,并<DependentUpon>在其下添加一个元素:

<Compile Include="MyTemplate.cs">
  <DependentUpon>MyTemplate.xaml</DependentUpon>
</Compile>
Run Code Online (Sandbox Code Playgroud)

请参阅此博客文章:将项目项目作为另一项目的子项目

  • @MorganM.,对我来说它打开代码隐藏......也许该文件必须命名为MyTemplate.xaml.cs (2认同)
  • 指出 `Include` 值将是文件的相对路径(如`Views\Controls\MyTemplate.xaml.cs`)可能会有所帮助,而 `DependentUpon` 值只是文件名,在这种情况下`我的模板.xaml`。 (2认同)