如何使WPF控件根據其中的內容更改其大小?Wpf控制大小內容?
回答
對於大多數控件,您可以在XAML中將其高度和寬度設置爲Auto
,並且尺寸將根據其內容進行調整。
在代碼中,您將寬度/高度設置爲double.NaN
。有關詳情,請參閱FrameworkElement.Width,特別是「備註」部分。
我有這樣的問題,我指定了我的窗口的寬度,但高度設置爲Auto
。子節點DockPanel
已將它的VerticalAlignment
設置爲Top,並且窗口將VerticalContentAlignment設置爲Top,但該窗口仍然比內容高很多。
使用史努比,我發現,在窗口內ContentPresenter
(在窗口的一部分,不是我放在那裏)有它的VerticalAlignment
設置爲Stretch
,沒有retemplating整個窗口不能改變!
在經歷了很多挫折之後,我發現SizeToContent
屬性 - 您可以使用它來指定您希望Window根據內容的大小縱向,橫向或者同時選擇兩種尺寸 - 現在所有尺寸都很好,我簡直不敢相信,花了我很長時間才找到那個財產!
我希望所有網格都具有此屬性... – Shimmy
當問題適用於頂層窗口時Set SizeToContent =「WidthAndHeight」。我在這一個上丟了幾個小時 - 這不直觀!查看http://stackoverflow.com/questions/812079/window-heightauto-problem – DeveloperDan
儘管'Window'是一個'Control',我認爲OP是指'UserControl',它沒有'SizeToContent財產。否則,OP將在主題中使用術語「窗口」。 – ProfK
如果您使用網格或類似組件: 在XAML中,確保網格中的元素已定義Grid.Row和Grid.Column,並確保它們沒有邊距。如果您使用設計器模式或Expression Blend,則可能會將邊距指定爲整個網格而不是特定的單元格。 作爲細胞大小,我補充一點,填補了空間的其餘部分額外的單元格:
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
我,坐在頁上的自由形式的方式用戶控制,而不是由另一個容器的限制,以及用戶控件中的內容不會自動調整大小,而會擴展到用戶控件的全部大小。
爲了讓用戶控制簡單地大小的內容,身高只有,我把它變成一個網格列設置爲自動大小像這樣:
<Grid Margin="0,60,10,200">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<controls1:HelpPanel x:Name="HelpInfoPanel"
Visibility="Visible"
Width="570"
HorizontalAlignment="Right"
ItemsSource="{Binding HelpItems}"
Background="#FF313131" />
</Grid>
- 1. WPF WebBrowser內容大小
- 2. 小容器大小的WPF控件
- 3. WPF內容控制造型
- 4. WPF窗口大小...大部分內容?
- 5. 內容控制內容大小填寫以填寫Silverlight 4
- 6. WPF大小RichTextBox根據內容
- 7. WPF框架 - 大小到內容
- 8. WPF調整大小的DataGrid的內容
- 9. wpf:根據其內容調整控件的大小
- 10. 將用戶控件內容拉伸到主窗口大小WPF
- 11. 在調整WPF窗口大小時,如何控制首先摺疊的內容
- 12. WPF和控制自動大小
- 13. 定製內容WPF
- 14. WPF控件默認大小
- 15. WPF綁定控件大小
- 16. 使用導航控制器更改彈出內容大小
- 17. 如何更改uipopoverpresentation控制器的內容大小?
- 18. 如何控制TextBlock的大小,以便內容完全顯示
- 19. iframe內容大小
- 20. WebView內容大小
- 21. UIWebView內容大小
- 22. AWS EC2 HTTP Post內容大小限制
- 23. 控制內容流與大蝦
- 24. WPF元素大小伸展時WPF控制
- 25. CSS製作內容DIV自動調整大小後的內容
- 26. EditText內容大小vs佈局大小
- 27. OpenXML內容控制
- 28. PowerShell ISE WPF控制內聯
- 29. UIWebView動態內容大小
- 30. VideoView內容調整大小
除了大量的控制設定他們的橫向和縱向對齊拉伸,這將導致他們填充可用區域,所以你可能需要指定這些屬性,例如HorizontalAlignment =「左」VerticalAlignment =「上」。 –