使用MVVM设置用户控件的初始窗口大小

时间:2015-03-22 19:31:05

标签: c# wpf xaml mvvm

新手问题。我正在使用一个简单的对话框来显示我的一些用户控件:

 <Window x:Class="Nova5.UI.Views.WindowDialog"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="WindowDialog" 
    WindowStyle="SingleBorderWindow" 
    WindowStartupLocation="CenterScreen" WindowState="{Binding WindowState, Mode=TwoWay}" >

    <ContentPresenter x:Name="DialogPresenter" Content="{Binding .}"/>

</Window>

对于我的一些由WindowDialog托管的用户控件,我希望初始对话框使用SizeToContent而不是WindowState。我试图得到的效果是让一些用户控件最大化到整个屏幕,而其他用户控件在屏幕中心更小。

可以使用单个WindowDialog完成,还是只使用两个不同的WindowDialog? (例如,WindowDialogMaximized和WindowDialogToContent)

有更好的方法吗?

感谢您考虑我的问题。

1 个答案:

答案 0 :(得分:2)

我会为SizeToContent创建另一个绑定并绑定这两个属性:

  • 对于应根据内容调整大小的控件,请将SizeToContent设置为Width / Height / WidthAndHeight,将WindowState设置为Normal。< / LI>
  • 对于应最大化的控件,请将SizeToContent设置为Manual,将WindowState设置为Maximized
相关问题