【问题标题】:Reloading WPF XAML while debugging in Rider IDE?在 Rider IDE 中调试时重新加载 WPF XAML?
【发布时间】:2020-01-08 17:13:03
【问题描述】:

我正在尝试使用 JetBrains Rider IDE 使用 WPF 进行 Windows 开发。 (我在 30 天试用期的第 1 天。)

所以,当我运行(调试)我的应用程序时,我注意到屏幕上有些东西不对劲。

我从 Rider 中打开了相应的 XAML 文件,我对其进行了编辑,结果应该会产生很大的视觉差异,但我的应用程序屏幕上没有任何反应。我从 Rider 中保存了 XAML 文件,但我的应用程序仍然没有任何反应。我重新启动我的应用程序,然后我看到了更改。

使用 Visual Studio,每次我更改 XAML 时都会热重新加载它,因此我无需重新启动应用程序就可以看到我在做什么。虽然有问题,但总比没有好。

所以:

  1. Rider 有这个功能吗?

  2. 有什么魔术可以实现它吗?

  3. 我注意到在 Xamarin 的上下文中,Rider 似乎支持 XAML 的热重载,但我正在做 WPF,所以我认为这与我无关;我的假设对吗?

  4. DotNet 中是否有任何解决方案可以以编程方式 完成相同的事情? (例如,我单击我的应用程序上的一个按钮,我的应用程序以某种方式重新加载其 XAML。)

【问题讨论】:

  • 作为记录,这个问题到目前为止已经收到了 1000 次浏览。

标签: .net wpf xaml rider


【解决方案1】:

目前,Rider 不支持任何 XAML 热重载技术。

在 2020.x 中,我们将发布 Xamarin 热重载功能。相关要求: https://youtrack.jetbrains.com/issue/RIDER-22664

但是对于 WPF,它要复杂得多 - 不可能在正在运行的应用程序中动态“替换”已编译的标记(Xamarin.Forms 可以)。所以我们必须构建增量差异并将它们应用到现有的可视化树上。

这是与您最相关的问题: https://youtrack.jetbrains.com/issue/RIDER-26302

【讨论】:

  • 非常感谢您的回复。因此,这意味着上面的第 4 项可能是唯一没有附加明确“否”的选项。您或其他人对我如何才能完成第 4 项有任何建议吗?
  • 如果你想在运行时重新加载你的应用程序的一部分,你可以尝试这样做:stackoverflow.com/questions/910814/loading-xaml-at-runtime
  • 但总体而言,这项任务要复杂得多。我想我们稍后会在 Rider 中实现它。
  • 那太不幸了!我很难忍受 Visual Studio。
  • Hot Reload 似乎只适用于 Xamarin。可惜:(
【解决方案2】:

正如 xtmq 所说,Rider 不支持任何 XAML 热重载技术。

但如果您也喜欢此功能,您可以在 YouTrack 上投票: https://youtrack.jetbrains.com/issue/RIDER-26302

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2020-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多