如何使用代码将 xaml 连接到它的 xaml.cs

How to connect xaml to it's xaml.cs using code

我正在创建一个文件生成器,它还向 已更改的而非当前的 项目的 csproj 文件添加了自动包含的添加文件。

所有文件(如 cs 文件)都可以正常工作,但是,我不明白如何使用此 API 为构建创建子文件。

目前,我的代码将文件添加到构建中,但 xaml cs 和 xaml 已连接但在视觉上是分开的(xaml cs 文件不在 xaml 文件)

我的代码如下:(input.FolerPath是解法路径)

public void Execute(GeneratorInput input)
{
    var p = new Microsoft.Build.Evaluation.Project(input.FolderPath + ".csproj");
    p.AddItem("Compile", "SomePath.cs"); // this works given a proper path
    p.AddItem("Compile", "XamlCsPath.xaml.cs"); // this works for the xaml cs
    p.AddItem("Page", "XamlPath.xaml"); // this creates the xaml file seperately
}

最终我要实现的是如下csproj文件:

<Compile Include="XamlCsFile.xaml.cs"> // I got this far
    <DependentUpon>XamlFile.xaml</DependentUpon> // this is what I am trying to add
</Compile>

这似乎可以解决问题:

var element = p.AddItem("Compile", "XamlCsPath.xaml.cs"); // this works for the xaml cs
element[0].SetMetadataValue("DependentUpon", "XamlFile.xaml");