c# - Windows .NET Core的Windows窗体设计器和WPF设计器

标签 c# wpf winforms .net-core windows-forms-designer

我最近听说,.NET Core(.NET Core 3.0)的Alpha版本支持Windows Forms和WPF。但是,Visual Studio Designer(和Visual Studio)不支持Windows窗体和WPF的.NET Core版本
是否可以使Visual Studio Designer(和Visual Studio)与.NET Core 3.0一起使用,或者可以与.NET Core 3一起使用的任何其他设计器或IDE?

最佳答案

Windows窗体-Visual Studio 2019(16.5预览版1-.NET CORE 3.1)

从Visual Studio 16.5 Preview 1开始,Visual Studio中内置了对Windows Forms设计器的支持。要使用设计器:

  • 您必须使用Visual Studio 16.5 Preview 1或更高版本。
  • 您需要在Visual Studio中启用设计器。转到“工具”→“选项”→“环境”→“预览功能”,然后选择“将预览Windows窗体设计器用于.NET Core应用程序”选项。

  • enter image description here

    想要查询更多的信息:
  • Updates to .NET Core Windows Forms designer in Visual Studio 16.5 Preview 1
  • WinFormsWPF .NET CORE存储库。

  • 请记住,在此版本中,designer尚不支持许多控件。

    较旧版本的解决方法

    从Visual Studio 16.5 Preview 1开始,Visual Studio中内置了对Windows Forms设计器的支持。但是对于较旧的版本,您可以使用以下解决方法:

    目前,有一个workaround用于将Classic .NET Windows Forms Designer用于.NET CORE Windows Forms项目。

    解决方法取决于在相同的解决方案中具有相同的根 namespace 的Classic WinForms应用程序和CORE WinForms应用程序。

    要添加新的可设计项目,每次您想添加新项目时,都需要将其添加到经典项目中,然后将生成的3个文件(.cs,.designer.cs,.resx)移至CORE应用中,然后添加他们作为经典应用程序的链接。

    为了进行编辑,由于它们可以作为经典应用程序中的链接使用,因此请在经典应用程序的设计器中对其进行编辑。所有更改对CORE应用程序都是可见的。

    准备解决方案以将Windows Forms Designer用于.NET Core Winforms应用程序
  • 创建Windows Forms .NET Core应用程序。 (See the steps and requirements。)
  • 在Visual Studio中打开项目,然后保存包含解决方案的项目。
  • 右键单击“解决方案”,然后单击“添加新项目”→从模板中,选择Windows Forms项目,并将其命名为与Core app +“.Designer”相同的名称,然后单击“确定”。
  • 在Classic Framework项目的属性中,将默认 namespace 设置为与Core应用程序相同的默认 namespace 。
  • 擦除两个项目中的所有现有文件并保存更改。

  • 添加表单或用户控件

    每次要添加新表单或用户控件时,都需要执行以下步骤:
  • 在经典框架项目中,添加新项
  • 选择Windows窗体或用户控件
  • 在desginer中进行一些更改,例如调整表单大小,因此将生成resx文件并保存。
  • 在解决方案资源管理器中,右键单击表单,然后选择“剪切”。
  • 在核心应用程序中,粘贴所有项目。(窗体,设计器,resx)。
  • 在经典应用程序中,右键单击并选择添加现有项。
  • 浏览打开对话框到核心应用文件夹,然后选择添加的3个文件,然后单击添加按钮附近的下拉列表,然后选择添加为链接
  • 编译解决方案。
  • 使用Mad Kristensen的File Nesting Extension或通过编辑项目文件,将经典应用程序中的文件保存下来。

  • 现在,每当需要在Core Form或UserControl文件之一上使用Designer时,只需使用Classic Windows Forms Designer在Classic Framework项目中打开链接的文件即可。

    WPF-VS 2019(16.0.3 .NET CORE 3.0)

    WPF .NET Core设计器的GA版本与.NET Core 3.0同时发布,并且随Visual Studio一起提供。

    Reference:

    WPF设计器完全独立于Windows窗体设计器。我们在发布.NET Core 3.0的同时发布了其WPF .NET Core Designer的GA版本,该版本随Visual Studio一起提供。在Visual Studio版本16.3.0中,我们存在一个问题,默认情况下,“启用XAML设计器”属性设置为false。也就是说,当您点击.xaml文件时,设计器不会自动打开。升级到最新的Visual Studio版本16.3.1,在此问题已得到修复。解决此问题的另一种方法是转到“工具”->“选项”->“XAML设计器”,然后选中“启用XAML设计器”。

    关于c# - Windows .NET Core的Windows窗体设计器和WPF设计器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53975842/

    相关文章:

    c# - 当我使用 Convert 格式化日期时,WPF DataBinding 非常慢

    c# - 验证密码和密码确认到XAML

    c# - 在 WPF 应用程序中使用 MVVM/MVVMLight 时如何与 UI 元素交互

    c# - 为什么这个 LINQ 查询不起作用?

    c# - DataGridViewSelectedCellCollection 上的 LINQ 查询

    c# - 如果没有它,如何从 uri 字符串中获取 Scheme?

    c# - 如何在 NHibernate QueryOver 查询中选择和使用值对象的集合

    c# - 将 C# 服务器逻辑移植到客户端 JS 的最佳实践?

    c# - MVVM 分离程序集 Visual Studio : What should I choose as the project types?

    c# - 如何从不同的线程/类启用计时器