2010-03-25 120 views
1

我正在陷入兩難境地。當我將ScrollViewer作爲我窗口的主要內容對象時,滾動行爲與我想要的完全相同。您調整大小使其小於內容,並出現窗口和滾動條。當我希望菜單是靜態的,其餘的內容是可滾動的時,問題就出現了。我希望滾動條的行爲與瀏覽器窗口的行爲相同,這意味着當您調整滾動條的大小時,滾動條會根據內容的大小顯示。當你擴大窗口時,內容佔據窗口的整個房地產。這在WPF中可能嗎?WPF窗口頂部菜單滾動

幫助將非常感激。

回答

1

將您的窗口的主要內容對象設爲DockPanel。作爲第一個孩子(與DockPanel.Dock="Top")和ScrollViewer(包含窗口內容的其餘部分)插入頂部菜單作爲第二個孩子。在DockPanel中,最後一個孩子佔用了所有剩餘的空間,這應該是你想要的。

<Window ...> 
    <DockPanel> 
     <MyMenu DockPanel.Dock="Top" ... /> 
     <ScrollViewer> 
      .... 
     </ScrollViewer> 
    </DockPanel> 
</Window> 
+0

令人驚歎的,謝謝!我正在使用StackPanel,而這根本不起作用! – 2010-03-25 15:19:15

+0

@Greg:不客氣,很高興聽到它的工作。 'StackPanel'的問題是它不會自動延伸到可用空間。相反,它只使用內部元素「需要」的空間。 – Heinzi 2010-03-25 15:21:49

+0

啊,這很有道理,非常感謝! – 2010-03-25 19:45:59