你好,我有一個窗口(WPF)與標籤和文本框,我希望他以適應屏幕分辨率儘可能, 怎麼做呢漿紗內容以適應屏幕分辨率
7
A
回答
25
如果在調整窗口大小時(例如最大化),需要按比例縮放窗口的內容時,Viewbox非常有用。在這個簡約的頁面中
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Viewbox>
<StackPanel>
<TextBlock FontSize="14">Example</TextBlock>
<Border Background="Aqua" Width="100" Height="100"></Border>
</StackPanel>
</Viewbox>
</Window>
你有一個TextBlock和一個彩色邊框垂直堆疊;如果你啓動了這個xaml,那麼窗口的大小將是300x300,TextBlock的字體大小是14,彩色邊框的大小是100x100。如果您重新調整窗口大小,則會相應地顯示TextBlock和Border縮放比例(因此它們不會超出您在xaml中指定的大小),並保持相對比例。在這方面,如果你需要一個窗口,其內部組件佈局看起來總是獨立於最終分辨率,它將顯示出來(重要的是寬高比,思想),那麼Viewbox就非常有用。這顯然適用於您將放置在Viewbox中的任何內容(例如,我們有一個包含視頻和3D視圖的應用程序)。請注意,在Visual Studio 2008中,您無法在設計器中看到Viewbox的內容。
希望得到這個幫助。
0
待辦事項你的意思是你想讓窗口填滿整個屏幕?做到這一點的最簡單方法(不會導致更多的頭痛)是最大化窗口。
w.WindowState = WindowState.Maximized;
編輯:
可縮放的窗口布局需要您避免使用Visual Studio中的XAML編輯器!其實你可以在編輯器裏做,但它很難。
容易得多手工編寫的XAML:
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Grid.Row="0">First Name</Label>
<TextBox Grid.Column="1" Grid.Row="0" Name="firstName">Fred</TextBox>
<Label Grid.Column="0" Grid.Row="1">First Name</Label>
<TextBox Grid.Column="1" Grid.Row="1" Name="lastName">Smith</TextBox>
</Grid>
這將大小以適合窗口,雖然可能看起來很奇怪,因爲行和列在默認情況下得到各一半的空間。您可以覆蓋這使他們具有高度由它們的內容,而不是決定:
<RowDefinition Height="Auto"/>
它也可以幫助把利潤上的一些控制,空間出來:
<TextBox Grid.Column="1" Grid.Row="1" Margin="6" Name="lastName">Smith</TextBox>
2
如果你想擴展真正的一切,包括字體大小,你可能會對你的內容應用一個縮放轉換,並將它的X和Y值綁定到窗口的寬度和高度。然後,您還需要一個價值轉換器將其轉換爲適當的比例。
1
如果要將所有內容都縮放到窗口大小,只需將所有內容放入Viewbox控件中。
相關問題
- 1. 適應屏幕分辨率
- 2. 屏幕分辨率
- 3. 屏幕分辨率
- 4. 屏幕分辨率
- 5. 屏幕分辨率
- 6. 屏幕分辨率
- 7. 屏幕分辨率
- 8. 適合Web的Iphone屏幕分辨率
- 9. 適合任何屏幕分辨率
- 10. 調整表的大小以適應屏幕分辨率
- 11. 屏幕調整大小以適應分辨率
- 12. 多可繪製背景圖片以適應屏幕分辨率
- 13. 如何使ZK boderlayout,以適應任何分辨率的屏幕
- 14. iPhone模擬器屏幕分辨率vs iPhone屏幕分辨率
- 15. 漿紗包含的UITextView,以適應contentSize
- 16. WPF漿紗Grid.Row內容
- 17. Qt屏幕分辨率初始屏幕
- 18. 假屏幕分辨率
- 19. 更改屏幕分辨率
- 20. Android的屏幕分辨率
- 21. Nightmarejs屏幕分辨率
- 22. 屏幕分辨率低,xamarin
- 23. WPF和屏幕分辨率
- 24. Android的屏幕分辨率
- 25. C++的屏幕分辨率
- 26. c#winform屏幕分辨率
- 27. android屏幕分辨率
- 28. Android屏幕分辨率
- 29. 屏幕分辨率檢測
- 30. 獲取屏幕分辨率
哦不,我希望這是我的問題... 我希望內容能夠縮放到窗口大小。 – 2009-07-11 20:23:00
我沒有與編輯合作... 你不明白我,我想內容增長...不擴散.. – 2009-07-13 19:13:24
你將不得不編輯你的問題,我認爲。你的意思是你真的想要每一個細節都放大,字體大小呢? – 2009-07-13 19:24:36