Establecer formulario MinWidth y MinHeight en función de la propiedad secundaria
Estoy escribiendo una aplicación en WPF usando el patrón MVVM. En mi solicitud tengo unIPopupWindowService
que uso para crear una ventana de diálogo emergente.
Entonces, para mostrar un ViewModel en una ventana emergente, haría algo como esto:
var container = ServiceLocator.Current.GetInstance<IUnityContainer>();
var popupService = container.Resolve<IPopupWindowService>();
var myViewModel = container.Resolve<IMyViewModel>();
popupService.Show((ViewModelBase)myViewModel);
Todo esto está muy bien. Lo que quiero hacer es poder configurar elMinHeight
yMinWidth
sobre elView
obligado amyViewModel
y haga que la ventana emergente use esa configuración para que un usuario no pueda hacer que la ventana sea más pequeña de lo que permite su contenido. En el momento en que el usuario reduce la ventana, el contenido deja de cambiar de tamaño, pero la ventana no.
EDITAR:
Asigno mis Vistas a mis ViewModels en ResourceDictionarys así:
<DataTemplate DataType="{x:Type ViewModels:MyViewModel}">
<Views:MyView />
</DataTemplate>
Y mi vista emergente se ve así:
<Window x:Class="TheCompany.Cubit.Shell.Views.PopupWindowView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
SizeToContent="WidthAndHeight"
WindowStartupLocation="CenterOwner">
<DockPanel x:Name="panelContent">
<StackPanel HorizontalAlignment="Right" DockPanel.Dock="Bottom" Orientation="Horizontal" Visibility="{Binding RelativeSource={RelativeSource AncestorType=Window},Path=ButtonPanelVisibility}">
<Button Width="75" IsDefault="True" x:Uid="ViewDialog_AcceptButton" Click="OnAcceptButtonClick" Margin="4">OK</Button>
<Button Width="75" IsCancel="True" x:Uid="ViewDialog_CancelButton" Click="OnCancelButtonClick" Margin="0,4,4,4">Cancel</Button>
</StackPanel>
<ContentPresenter Content="{Binding}" />
</DockPanel>