簡體   English   中英

如何將 WPF window 分成兩部分?

[英]How do I split a WPF window into two parts?

我想創建一個左側有一個列表框的應用程序(我將對其進行樣式設置以使其稍后看起來不錯)。

在右側,我想要一個可以添加控件等的區域

所以問題是我需要做什么才能將 Window 分成兩個不相等的部分(左側大約 350 像素寬,高度應該是整個窗口),其余部分用於我的“畫布”。

您可以使用Grid

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="350" /> <!-- Or Auto -->
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>
    <ListBox Grid.Column="0" />
    <Canvas Grid.Column="1" />
</Grid>

或者您可以使用DockPanel

<DockPanel>
    <ListBox DockPanel.Dock="Left" Width="350" />
    <Canvas />
</DockPanel>

Grid 的好處是您可以更好地控制布局,並且可以允許最終用戶使用GridSplitter動態調整列的大小。

CodeNaked 解決方案的另一種方法是使用 DockPanel,其中 Canvas 自動占用所有剩余空間,您不必進行拆分。

當然,這具有僅停靠到四個邊緣的限制(可能會在邊緣堆疊),但是當我制作初始 UI 時,我傾向於更喜歡 DockPanel,因為與 Grid 設置相比,它們設置起來相當快速且容易可以很快變得復雜。

<DockPanel LastChildFill="True">
    <ListBox DockPanel.Dock="Left" Width="350"/>
    <Canvas />
</DockPanel>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM