当前位置:  开发笔记 > 编程语言 > 正文

在Caliburn.micro中设置初始窗口大小

如何解决《在Caliburn.micro中设置初始窗口大小》经验,为你挑选了2个好方法。

我需要在第一次打开时设置视图的默认大小,但视图必须允许用户扩展它.(由于其他原因,我无法在WindowManager中使用SizeToContent属性.)

这一定是常见的,建议的默认窗口大小是什么?



1> GrantByrne..:

这实际上已经让我误解了一段时间.一旦我弄清楚了,我很恼火,我没有早点弄明白.

在caliburn中显示窗口时,可以在调用时设置有关Window对象的属性.

所以,假设您要将窗口的高度和宽度设置为600 x 300:

首先,你会从这样的事情开始:

public class ShellViewModel : PropertyChangedBase, IShell
{
    private readonly IWindowManager windowManager;

    public ShellViewModel()
    {
        this.windowManager = new WindowManager();
        this.windowManager.ShowWindow(new LameViewModel());
    }
}

ShowWindow方法还有另外两个字段.第三个参数允许您动态设置Window对象的属性.

public class ShellViewModel : PropertyChangedBase, IShell
{
    private readonly IWindowManager windowManager;

    public ShellViewModel()
    {
        this.windowManager = new WindowManager();

        dynamic settings = new ExpandoObject();
        settings.Height = 600;
        settings.Width = 300;
        settings.SizeToContent = SizeToContent.Manual;

        this.windowManager.ShowWindow(new LameViewModel(), null, settings);
    }
}

我希望有更多关于在文档上使用它的信息,但是你有它.


您可能需要添加另一个设置:`SizeToContent = SizeToContent.Manual`.

2> 小智..:

不确定这个帖子是否适用于此帖子,但对于现在关注的任何人来说,这就是如何在应用程序引导程序中轻松设置CaliburnMicro中的窗口大小.我的代码设计为在启动时保留与之前关闭时相同的窗口尺寸.我将屏幕高度/宽度保存为关闭时的设置属性,然后在启动时将其恢复回来(检查以确保不大于当前屏幕大小).

AppBootstrapper.cs

     protected override void OnStartup(object sender, System.Windows.StartupEventArgs e) {

        double width = Settings.Default.screen_width;  //Previous window width 
        double height = Settings.Default.screen_height; //Previous window height

        double screen_width = System.Windows.SystemParameters.PrimaryScreenWidth;
        double screen_height = System.Windows.SystemParameters.PrimaryScreenHeight;

        if (width > screen_width) width = (screen_width - 10);
        if (height > screen_height) height = (screen_height-10);

        Dictionary window_settings = new Dictionary();

        window_settings.Add("Width", width);
        window_settings.Add("Height", height);

        DisplayRootViewFor(window_settings);
    }

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有