2012-08-28 3 views
5

メインウィンドウでコンテンツのサイズを変更できるようにしながら、アプリケーションのサイズを制御する方法がわかりません。これはWPFアプリケーションであり、私はCaliburn Micro(ViewModelを最初に使用しています)で、私のすべてのビューはUserControlsです。wpf/caliburn.microアプリケーションのサイズを設定し、メインウィンドウでコンテンツのサイズを変更できるようにしました。

メインビューUserControl(基本的に、独自のビューモデルを持つ他のユーザーコントロールを含むグリッド)を使用して、アプリケーションのメインウィンドウ領域全体を拡大して入力します。だから、私は、水平方向の整列と垂直整列をメインビューのストレッチに設定しました。しかし、これは私が望むように動作しません。

メインビューの幅をある値に設定すると、アプリケーションのメインウィンドウのサイズを制御できますが、ビューは固定サイズになり、メインウィンドウでサイズが変更されません。

高さ&メインビューの幅を[自動]に設定すると、アプリケーションウィンドウのサイズはメインビューのサイズに調整されます。

私が欲しいのは、アプリケーションウィンドウ(Caliburn.Microによってメインビュー用に自動的に作成されたウィンドウ)の内容が、アプリケーションウィンドウを埋め込むために伸びていることです。そのサイズは何らかの方法で設定できませんどのように行うかを把握する。

希望すれば、私は立ち往生しています!

答えて

0

yr子コントロールに設定した高さと幅を削除します。& UIElement.CliptoBoundsプロパティを使用してTrueに設定します。

http://msdn.microsoft.com/en-us/library/system.windows.uielement.cliptobounds.aspx

+0

しかし、それは要素がクリップされている方法を制御します。それはここで私の主な問題ではありません。起動後にメインビューのグリッドがアプリケーションのサイズを変更できるようにしながら、アプリの全体的な起動サイズを設定するにはどうすればよいですか? – Liell

+0

http://stackoverflow.com/questions/36108/how-to-get-controls-in-wpf-to-fill-available-space – Rauld

9

私はこの質問は非常に古く、おそらくCaliburn.Micro V1に言及実現が、念のために私のような他の誰かが一緒に来て、ここでCaliburn.Micro v2のソリューションです。あなたのブートストラップのOnStartup機能で

、あなただけの下に行われるようDisplayRootViewFor関数にWidthHeightSizeToContent.Manual設定を設定する必要があります。

protected override void OnStartup(object sender, StartupEventArgs e) 
{ 
    var settings = new Dictionary<string, object> 
    { 
     { "SizeToContent", SizeToContent.Manual }, 
     { "Height" , 600 }, 
     { "Width" , 1024 }, 
    }; 

    DisplayRootViewFor<IShell>(settings); 
} 
+1

Thanks-設定SizeToContentはトリックをやったようです! – Govert

関連する問題