Tôi có một số StackPanel
có chứa StackPanel
và một số mặt hàng khác. StackPanel
đầu tiên có hướng thẳng đứng, hướng bên trong có hướng nằm ngang. Bên trong có một số TreeView
và ListView
, tôi muốn chúng mở rộng và vừa với chiều rộng của cửa sổ mà tôi đặt ở cửa sổ và cho phép người dùng thay đổi. Tôi cũng muốn bên ngoài StackPanel
để vừa với chiều cao của cửa sổ. Làm thế nào để tôi làm điều này?Cách tạo các mục trong DockPanel mở rộng để phù hợp với tất cả không gian có sẵn trong WPF?
Edit: tôi đã chuyển đổi sang sử dụng một DockPanel
, và tôi đã thiết lập các thuộc tính DockPanel.Dock
một cách chính xác trong mỗi yếu tố, và đã vô hiệu hóa LastChildFill
trong cả hai dockpanels, cách bố trí vẫn không căng.
Bộ luật:
<Window x:Class="Clippy.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="400" Width="600" MinHeight="400" MinWidth="600" Loaded="Window_Loaded" SizeChanged="Window_SizeChanged">
<DockPanel Name="wrapperDockPanel" LastChildFill="False">
<Menu Height="22" Name="mainMenu" Width="Auto" DockPanel.Dock="Top" />
<ToolBar Height="26" Name="mainToolBar" Width="Auto" DockPanel.Dock="Top" />
<DockPanel Height="Auto" Name="contentDockPanel" DockPanel.Dock="Top" LastChildFill="False">
<TreeView Name="categoryTreeView" />
<ListView Name="clipListView" />
</DockPanel>
<StatusBar Height="23" Name="mainStatusBar" DockPanel.Dock="Top" />
</DockPanel>
</Window>
Chúng tôi có thể xem mã không? – Brad
Tại sao bạn đặt LastChildFill = "False"? Giá trị mặc định của True sẽ làm cho ListView lấp đầy không gian. –
Đồng ý với Henk quá ... –