WPF控制,节省房地产

本文关键字:房地产 节省 控制 WPF | 更新日期: 2023-09-27 18:07:09

我是WPF和c#的新手,我正试图帮助一些GUI工作。我们基本上有3个部分,LHS(左边)[第1部分],RHS有顶部和底部[第2部分和第3部分]。看起来像这样

1 | 2
1 | -
1 | 3

他们想要一种通过点击按钮来缩小每个部分的方法。目前的|和-是间隔器项目,可以拖动(编辑:这是使用gridsplitter,他们不喜欢)。我做了一些研究,看到有扩展项目和手风琴项目。我不知道这两种方法是否适用于这种情况,也不知道哪种方法最省事。在尝试每个控件的过程中,由于我不熟悉它们,我想到了一些关于控件的额外问题。

扩展器:通过缩小第1部分,是否会使第2和第3部分占据整个屏幕?或者这只能用手风琴来完成?将<>图标更改为+-图标是否困难/容易?如果有,有什么教程吗?

手风琴:<>可以改成+-吗?如果有,有什么教程吗?默认的蓝色可以更改吗?

TIA

WPF控制,节省房地产

Expander听起来很适合您的情况。幸运的是,它包含在WPF中,不像Accordion控件。但是我发现这个问题与Accordion控件有关,我想它会对你很有用。

要更改Expander切换按钮的外观,您需要修改其控件模板。将模板更改为显示加减号而不是箭头并不太难。如果你访问链接,你会看到你要改变ExpanderToggleButton部分的模板。

由于您只想从使用箭头更改为使用正负号,您可以简单地更改Path数据的折叠/展开箭头。你可以在这里查看更多关于使用path绘制简单形状的信息。

这是一个修改Expander控件模板的例子。这是一个不同的外观,但它应该是有用的,如果你决定走这条路。

编辑:

一个非常简单的例子(没有改变ToggleButton的外观),了解如何折叠和保存房地产:

<Grid>
   <Grid.ColumnDefinitions>
       <ColumnDefinition Width="Auto" />
       <ColumnDefinition Width="Auto" />
   </Grid.ColunmDefinitions>
   <Grid.RowDefinitions>
       <RowDefinition Height="Auto" />
       <RowDefinition Height="Auto" />
   </Grid.RowDefinitions>
   <Expander Name="Section1" Grid.RowSpan="2" Grid.Colunm="0" ExpandDirection="Left">
       <!-- Stuff goes here -->
   </Expander>
   <Expander Name="Section2" Grid.RowSpan="0" Grid.Colunm="1" 
       <!-- Stuff goes here -->
   </Expander>
   <Expander Name="Section3" Grid.RowSpan="1" Grid.Colunm="0" 
       <!-- Stuff goes here -->
   </Expander>
</Grid>

你可以使用GridSplitter。用户可以拖动它们来改变大小。不是点击,是拖动。

   <GridSplitter Grid.Row="1" Grid.Column="1" 
                  Width="3" Background="Purple" VerticalAlignment="Stretch" HorizontalAlignment="Center" ShowsPreview="False" >