如何在 Rider 中创建 XAML + CodeBehind 对?

Posted

技术标签:

【中文标题】如何在 Rider 中创建 XAML + CodeBehind 对?【英文标题】:How to create a XAML + CodeBehind pair in Rider? 【发布时间】:2017-03-24 22:50:54 【问题描述】:

(当然,如果可能的话;在撰写本文时,我使用的是 EAP 19 版本,这是目前的最新版本)

我有一个 WPF 项目,我试图将 XAML 和 XAML.CS 文件配对在一起,因为它们都是部分类定义的一部分(至少据我所知)。

但是,无论我做什么,我都无法让 Rider 了解它们之间的联系。

在这里,您可以看到 Details.xaml.cs 整齐地嵌套在 Details.xaml 中,因为 Rider 知道它们是相互依赖的,但 CompendiumSearch 没有骰子。

Details 和 CompendiumSearch 具有几乎相同的代码,当然除了类名。


PS:App 和 Details 是用 VS 创建的,这是我在 Rider 中导入的一个旧项目,用于构建它;这就是为什么它们已经整齐地嵌套了。

【问题讨论】:

我目前无法检查,但如果我没记错的话,EAP 21 已经开始支持 XAML 文件,所以这可能不再是问题,但有待确认。跨度> 【参考方案1】:

编辑: 由于这个过时的问题最近受到了更多关注,我觉得有义务指出,这个问题不仅在去年的 2017.1 版本 (IIRC) 中得到解决,而且视觉预览器将在 2018.1 版本中发布(当前状态已为 EAP 3 做好准备)。


我发现如何做到这一点的唯一方法是编辑 .csproj 文件并添加以下内容:

<Page Include="CompendiumSearch.xaml">
  <Generator>MSBuild:Compile</Generator>
  <SubType>Designer</SubType>
</Page>
<Compile Include="CompendiumSearch.xaml.cs">
  <DependentUpon>CompendiumSearch.xaml</DependentUpon>
  <SubType>Code</SubType>
</Compile>

但是,据我所知,手动编辑 .csproj 只是自找麻烦,所以我怀疑这是理想的解决方案。

【讨论】:

以上是关于如何在 Rider 中创建 XAML + CodeBehind 对?的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式寻址在 xaml 中创建的画布

如何使用 Xamarin 在 xaml 中创建自定义字体大小,以便您可以根据设备更改字体大小?

WPF Xaml中创建集合

在 XAML 中创建按钮

如何在 XAML 中创建和更改应用程序主题

如何在 Rider 中进行 xUnit 测试?我收到错误 CS0246