我有这个:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50*" />
<ColumnDefinition Width="5" />
<ColumnDefinition Width="50*" />
</Grid.ColumnDefinitions>
<GridSplitter Background="{x:Static SystemColors.ControlBrush}"
Grid.Column="1"
Margin="0,0,0,0"
Name="splitter"
HorizontalAlignment="Stretch" />我在试着保存和恢复分割器的位置。我使用的是grid.ColumnDefinitions[0].Width,它以像素为单位返回列的宽度。
当我恢复位置时,如何恢复并保留50*设置,以便在调整窗口大小时,列的大小正确调整?
发布于 2010-09-27 16:41:38
Width属性不是简单的double,它是一个System.Windows.GridLength对象,其中包含Value属性(double)和GridUnitType属性(GridUnitType),后者是enum。因此,要将列的宽度设置为50*
grid.ColumnDefinitions[0].Width = new GridLength(50, GridUnitType.Star)要保存和恢复,您只需保存值和每列的GridUnitType。
希望能有所帮助。
https://stackoverflow.com/questions/3802123
复制相似问题