2

Caliburn micro のウィンドウ マネージャで作業中に見つけた奇妙な問題。

ダイアログウィンドウを表示する次のコードがあります

sendLogicDialogViewModel.Initialize(CompiledCodeList);
dynamic settings = new System.Dynamic.ExpandoObject();
settings.WindowStartupLocation = WindowStartupLocation.CenterScreen;

windowManager.ShowDialog(sendLogicDialogViewModel, null, settings);

これは完全に機能します..しかし、何らかの理由で、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>

これは、ダイアログ ウィンドウに表示されると予想されるものです (これは、Visual Studio のデザイン ビューに表示されるものです)。

ここに画像の説明を入力

しかし、代わりに、これは私が得るものです:

ここに画像の説明を入力

何を与える?ダイアログ ウィンドウの高さ/幅を任意に設定するのはなぜですか? windowManagerで触れなければならない設定はありますか? この問題を解決するにはどうすればよいですか?

4

1 に答える 1

5

SizeToContent="WidthAndHeightのルートWindow要素に" を追加するSendLogicDialogViewか、別の設定として渡すことができます。

この動作は Caliburn.Micro に固有のものではありません。 aWidthHeightが に指定されておらずWindow、が(デフォルト) にSizeToContent設定されている場合の標準の WPF 動作であり、ウィンドウはデフォルトの幅と高さになります。Manual

于 2012-11-20T19:23:34.223 に答える