【问题标题】:WPF resize portion of GUI with seperatorWPF 使用分隔符调整 GUI 部分的大小
【发布时间】:2015-07-19 16:08:54
【问题描述】:

我正在创建一个 WPF GUI,我希望有一个可以手动调整宽度的部分,类似于大多数 IDE 具有可以调整大小的资源管理器和工具箱的方式。

目前我正在使用 DockPaneland,我的项目看起来类似于下图。我将如何包括一些可选择的分隔符来改变我的 DockPanel 的一个部分的宽度。他们的 WPF XAML 组件(例如分隔符)是否已经能够做到这一点?

【问题讨论】:

  • 网格 + GridSplitter。

标签: c# wpf xaml user-interface resize


【解决方案1】:

Grid 和 GridSplitter - Grid Splitter 上的调整大小行为和对齐延伸是小问题,因此值得举例:

<Window x:Class="GridSplitSpike.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>

    <ContentControl Name="LeftHandArea" Grid.Column="0" MinWidth="100"/>

    <GridSplitter Grid.Column="1" ResizeBehavior="PreviousAndNext" VerticalAlignment="Stretch" Width="4" />

    <DockPanel Grid.Column="2"/>
</Grid>
</Window>

我应该指出,ContentControl 只代表您的左手视图。这将不再是 DockPanel 的一部分。

【讨论】:

  • 谢谢,这个解决方案效果很好。我只是将我的停靠面板的当前左侧部分放入网格的“LeftHandArea”,然后将整个网格放置在我的停靠面板内作为左侧组件。我排除了
猜你喜欢
  • 2018-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-01
  • 2020-02-21
  • 1970-01-01
  • 1970-01-01
  • 2018-04-30
相关资源
最近更新 更多