【问题标题】:How to get WPF usercontrol designheight and designwidth at run time如何在运行时获取 WPF 用户控件设计高度和设计宽度
【发布时间】:2018-05-03 16:51:27
【问题描述】:

我需要在运行时访问 WPF 用户控件的设计高度和设计宽度。我知道这是不可能的,所以我会解释我为什么要这样做,希望有人能提供一个正确方法的例子。

从一个 C# winforms 应用程序中,我打开一个新窗口,其中包含一个非常大的 WPF 用户控件。如果我正在运行的监视器可以处理它,我希望它以用户控件的完整设计大小打开窗口。如果我正在运行的显示器无法处理它,那么我想打开尽可能大的窗口,在屏幕的每一侧留下 1 个像素。所以在显示用户控件之前需要知道用户控件当前的设计宽度和高度。

我想避免在 winforms 应用程序中对值进行硬编码,或者在用户控件中使用未绑定的公共属性,因为这样我必须相信其他开发人员在更改用户控件时会更新它们。我不知道是否可以将局部变量绑定到 designheight 或 designwidth,或者如何在 XAML 中对其进行编码。由于我对 WPF 了解不多,所以可能还有其他方法可以达到我不知道的目标。

感谢您的帮助和建议。

【问题讨论】:

    标签: c# wpf winforms


    【解决方案1】:

    你为什么不试试Resize WPF Window and contents depening on screen resolution之类的东西

    答案建议您将屏幕大小绑定到窗口的高度和宽度。它会根据屏幕大小自动调整窗口大小。您甚至可以设置窗口大小的 % 值。

    【讨论】:

    • 谢谢,但这可能会导致显示的用户控件大于其设计高度和设计宽度。
    猜你喜欢
    • 2012-08-11
    • 1970-01-01
    • 2012-04-27
    • 1970-01-01
    • 2012-05-06
    • 2013-02-07
    • 1970-01-01
    • 2016-04-28
    • 2013-06-22
    相关资源
    最近更新 更多