Próbuję ustawić MinHeight/MinWidth okna o zmiennej wielkości na podstawie jego początkowej wysokości (gdy SizeToContent = "WidthAndHeight").WPF - Próba ustawienia MinHeight okna o zmiennej wielkości na podstawie jego początkowej wysokości
Widziałem kilka odpowiedzi/rozwiązania:
http://weblogs.asp.net/psheriff/archive/2010/01.aspx
Set form MinWidth and MinHeight based on child property
Jednakże:
Próbuję użyć deseniu MVVM i chciałby być w stanie osiągnąć to w xaml.
chciałbym również, aby zachować wartości takie jak MinHeight z ViewModel - nie sądzę, że należą tam jak oni związać trywialne część zachowanie celu viewmodel. To jest coś, co chciałbym pozostawić projektantowi UX.
Rozwiązanie walczę o to, aby wykorzystać następujące XAML/oprawa:
<Window
....
x:Name="mainWindow"
SizeToContent="WidthAndHeight"
ResizeMode="CanResizeWithGrip"
MinHeight="{Binding ElementName=mainWindow, Mode=OneTime, Path=ActualHeight}"
>
Mam nadzieję, że „Mode = onet” wiązałby się MinHeight do wartości początkowej wysokości okien .
Ale to nie działa.
Czy ktoś może wyjaśnić, dlaczego? Czy istnieje rozwiązanie, które spełnia moje kryteria?
Dzięki,
Oznacz
Spowoduje to ustawienie MinHeight na niezerową wartość. Jednak zawsze ustawia MinHeight za każdym razem, gdy zmienia się rozmiar okna, co oznacza, że użytkownik może zwiększyć rozmiar okna, ale nigdy go nie zmniejszyć. Próbuję ustawić MinHeight tylko raz - do jego początkowego rozmiaru określonego przez "SizeToContent =" WidthAndHeight "' –
Być może istnieje sposób odroczenia wiązania, dopóki okno nie zostanie po raz pierwszy zmienione. Czy mogę to zrobić w xaml? –
@ Mark: Powinieneś obsłużyć wydarzenie SizeChanged :-) – Nawaz