Это то, что на самом деле меня прослушивает для в то время как. Как только я понял это, меня раздражало, что я не понял этого раньше.
При отображении окна в caliburn вы можете установить атрибуты объекта Window при его вызове.
Итак, предположим, что вы хотите установить высоту и ширину в окне до 600 х 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);
}
}
Я хотел было больше информации о работе с этим на документации, но у вас есть.
Единственный способ, которым я могу видеть эту работу, если установить конкретный размер, по вашему мнению, затем отпустите представление, установив размер в auto после загрузки представления, гарантируя, что окно является правильным размером для содержимого. Это может быть поведение, которое вы задали в своем представлении. – Charleh