0
我正在構建一個描繪圖的控件。控件的內容(相當複雜)將盡可能地擴展以適應分配的空間。但是,並非所有的比例都是有效的。內容不能無限縮小。例如。圖上的框應該至少有20個像素寬。因此,如果窗口太小而不能適應內容,即使尺寸最小,縮放也應該停止,滾動條必須出現。WPF:視圖縮放到大尺寸的容器,小尺寸的滾動?
我無法在WPF中找到這個優雅的解決方案。任何設計思路都非常感謝。
我正在構建一個描繪圖的控件。控件的內容(相當複雜)將盡可能地擴展以適應分配的空間。但是,並非所有的比例都是有效的。內容不能無限縮小。例如。圖上的框應該至少有20個像素寬。因此,如果窗口太小而不能適應內容,即使尺寸最小,縮放也應該停止,滾動條必須出現。WPF:視圖縮放到大尺寸的容器,小尺寸的滾動?
我無法在WPF中找到這個優雅的解決方案。任何設計思路都非常感謝。
設置內容的Horizontal
& VerticalAlignment
到Stretch
也設置了MinWidth
和MinHeight
到合適的值,將您的內容在其ScrollViewer
Horizontal
& VerticalScrollBarVisibility
設置爲Auto
。
這應該工作,也許......
例如,對於你的XAML的選擇上即時查看器(例如Kaxaml):
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<Button
MinHeight="400"
MinWidth="400"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Content="Buttons!"/>
</ScrollViewer>
</Window>
是的,你明白我的問題恰到好處。我不能直接使用你的例子,因爲我有面板和一些測量,但你的回答讓我意識到這一點:當你的面板在一個滾動查看器中,在測量時,你計算出最小可能的大小,讓你生存下來,提供空間。因此,你計算你的佈局兩次。看起來很明顯,但我第一次沒有得到它。謝謝! – 2011-06-07 02:32:08
很高興幫助:)順便說一下,MSDN上有一些有趣的文章。 [佈局系統](http://msdn.microsoft.com/en-us/library/ms745058.aspx)&[面板概述](http://msdn.microsoft.com/en-us/library/ms754152.aspx )。 – 2011-06-07 02:47:55