Windows 加载 WPF 后调整窗体大小
Windows Forms resized after loading WPF
我遇到了一种奇怪的行为,对此我目前没有任何解释或解决方案,我希望有人对此有所了解。
所以我有一个简单的 Windows 表单应用程序,只有一个按钮,单击按钮将加载 PresentationFramework
程序集:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Assembly.Load("PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35");
}
}
现在,当我在我的 Windows 10 上设置自定义缩放大小(例如 200%)时,然后单击按钮,表单将调整大小,请参见下图。
- 点击前:
- 单击后:
但是,当我使用任何提供的缩放选项时(当我不使用自定义缩放时),此行为不会发生:
我最初以为问题与Form.AutoScaleMode
有关,但似乎并非如此。此外,我无法在 Form
对象中观察到任何更改的值。
我不确定我是否完全理解您的问题,但您可以尝试将以下属性添加到您的 AssemblyInfo
.cs 文件(您可以在解决方案资源管理器的属性节点下找到它Visual Studio):
[assembly: System.Windows.Media.DisableDpiAwareness]
这将允许应用程序禁用对所有用户界面元素使用每英寸点数 (dpi) 感知。
我遇到了一种奇怪的行为,对此我目前没有任何解释或解决方案,我希望有人对此有所了解。
所以我有一个简单的 Windows 表单应用程序,只有一个按钮,单击按钮将加载 PresentationFramework
程序集:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Assembly.Load("PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35");
}
}
现在,当我在我的 Windows 10 上设置自定义缩放大小(例如 200%)时,然后单击按钮,表单将调整大小,请参见下图。
- 点击前:
- 单击后:
但是,当我使用任何提供的缩放选项时(当我不使用自定义缩放时),此行为不会发生:
我最初以为问题与Form.AutoScaleMode
有关,但似乎并非如此。此外,我无法在 Form
对象中观察到任何更改的值。
我不确定我是否完全理解您的问题,但您可以尝试将以下属性添加到您的 AssemblyInfo
.cs 文件(您可以在解决方案资源管理器的属性节点下找到它Visual Studio):
[assembly: System.Windows.Media.DisableDpiAwareness]
这将允许应用程序禁用对所有用户界面元素使用每英寸点数 (dpi) 感知。