You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MSBuild中如何动态设置项元数据实现WPF项目ViewModel文件嵌套

WPF项目ViewModel自动嵌套到对应View下的实现方法

直接在你的.NET5 WPF项目的.csproj文件中添加如下配置即可实现动态自动匹配:

<ItemGroup>
    <Content Include="**\*ViewModel.cs">
        <DependentUpon>$([System.String]::Copy('%(Filename)').Replace('ViewModel', 'View').xaml)</DependentUpon>
    </Content>
</ItemGroup>

配置说明

  • %(Filename)是MSBuild内置的元数据,代表当前匹配到的文件的文件名(不含后缀),例如匹配到GameWorldViewModel.cs时,该值为GameWorldViewModel
  • 通过字符串处理逻辑:先复制文件名,把后缀ViewModel替换为View,再拼接.xaml后缀,最终得到对应的View文件名称

注意事项

  • 请确保成对的ViewModel和View文件存放在同一个目录下,该配置才能正常生效
  • 如果你的项目中ViewModel文件默认的生成操作是Compile,只需要把配置中的Content标签替换为Compile即可
  • 保存.csproj文件后重新加载项目,即可在解决方案资源管理器中看到嵌套效果
  • 出现未正确嵌套的文件优先检查命名是否符合规则,有无拼写错误

内容的提问来源于stack exchange,提问作者martinrhan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 18:48:03