【发布时间】:2017-10-23 10:59:10
【问题描述】:
为了以编程方式将文件包含到项目中,我使用此答案中提供的方法https://stackoverflow.com/a/23537007/1317323
现在我需要更进一步,将 xaml 文件和 xaml.cs 文件添加到我的项目中。
我需要知道AddItem() 方法中接受的字符串是什么,以便以正确的方式包含这两个文件。类似的东西
p.AddItem("Page", "so.xaml");
// or
p.AddItem("Xaml", so.xaml");
当我使用经典的视觉工作室“右键单击/添加新项目”方式时,我在 csproj 文件中得到了这个
<ItemGroup>
<Page Include="example.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
</ItemGroup>
<Compile Include="example.xaml.cs">
<DependentUpon>example.xaml</DependentUpon>
</Compile>
我没有运气阅读 msdn。
我正在寻找一个表格,该表格将给定项目类型的第一个参数值或构造此类表格的方法。
【问题讨论】:
-
如果它是一个 XAML 文件,并且根标签有一个
x:Class属性,那么可能有一个 .xaml.cs 文件——但我不能说你是否可以保证它会有除“.cs”后缀外,其他名称相同。没有这些东西的大表,也没有从第一原理中推断出任何东西的通用方法。当您将 UserControl(例如)添加到 WPF 项目时,向导会创建 .xaml 和 .xaml.cs。创建窗口的向导也是如此。添加资源字典时,该字典仅添加 .xaml。就个人而言,当用户添加“foo.xaml”时,我会寻找“foo.xaml.cs”。 -
...或者在添加“foo.bar”时,我可能会寻找“foo.bar.*”。也许吧。