l46*_*kok 2 .net c# wpf caliburn.micro
我在使用 Caliburn micro 的窗口管理器时发现的奇怪问题。
我有以下代码显示一个对话框窗口
sendLogicDialogViewModel.Initialize(CompiledCodeList);
dynamic settings = new System.Dynamic.ExpandoObject();
settings.WindowStartupLocation = WindowStartupLocation.CenterScreen;
windowManager.ShowDialog(sendLogicDialogViewModel, null, settings);
Run Code Online (Sandbox Code Playgroud)
哪个工作得很好..但由于某种原因,它在 XAML 中使用视图的窗口高度声明。我做了一个非常简单的视图来证明我的观点:
<Window x:Class="DDCLogicInstaller.SendLogicDialogView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="{Binding Title}"
xmlns:cal="http://www.caliburnproject.org"
cal:Bind.Model="DDCLogicInstaller.SendLogicDialogViewModel"
>
<Button Content="300" Height="100" Width="100"/>
</Window>
Run Code Online (Sandbox Code Playgroud)
这是我希望在对话框窗口中看到的内容(这是它在 Visual Studio 的设计视图中显示的内容)

但相反,这就是我得到的:

是什么赋予了?为什么要随意设置对话窗口的高度/宽度?我必须在 windowManager 中触摸一些设置吗?我该如何解决这个问题?
您可以将SizeToContent="WidthAndHeight"添加到您的根Window元素中SendLogicDialogView,或将其作为另一个设置传递。
此行为并非特定于 Caliburn.Micro,当 aWidth和Height未在Window和SizeToContent设置为Manual(默认值)时,它是标准 WPF 行为,窗口将具有默认宽度和高度。
| 归档时间: |
|
| 查看次数: |
2190 次 |
| 最近记录: |