Chcę utworzyć Viewbox (lub coś podobnego), który skaluje tylko jego wysokość, a następnie rozciąga jego zawartość w poziomie.Dokonywanie skali Viewbox w pionie, ale rozciąganie w poziomie
Gdybym to zrobić:
<Viewbox>
<StackPanel>
<Button>Foo</Button>
<Button>Bar</Button>
</StackPanel>
</Viewbox>
następnie uzyskać to:
http://www.excastle.com/misc/viewbox-center.png
Działa jak wtedy, gdy oba przyciski miał horizontalAlignment = "center", a następnie skaluje wynik . Ale nie chcę HorizontalAlignment = "Center"; Chcę HorizontalAlignment = „Stretch”, tak:
http://www.excastle.com/misc/viewbox-stretch.png
Więc chcę czytać pożądaną wysokość jego zawartość, obliczyć współczynnik skalowania opartego tylko na wysokości, a następnie pozostawić skalowany zawartość rozciągnąć poziomo.
Czy można to osiągnąć za pomocą Viewbox i/lub panelu innej firmy?
Dzięki za świetne rozwiązanie. Dodałem 'if (System.ComponentModel.DesignerProperties.GetIsInDesignMode (this)) { availableSize = new Size (200, 200); } ' w metodzie' protected override Rozmiar MeasureOverride (Size availableSize) ', więc projektant działa bez wyjątku. – Mike