
界面层ViewGrid Grid.Row0 x:NameGridColorGrid.RowDefinitionsRowDefinition Height4*/RowDefinition Height6*//Grid.RowDefinitionsGrid.ColumnDefinitionsColumnDefinition Width{Binding DensityColumnWidth}/ColumnDefinition Width{Binding MaxInkColumnWidth}//Grid.ColumnDefinitions/Grid代码层ViewModelprivate GridLength _densityColumnWidth new GridLength(0); // 使用绝对宽度 0private GridLength _maxInkColumnWidth new GridLength(1, GridUnitType.Star);private bool _isHalfWidth false;public GridLength DensityColumnWidth{get { return _densityColumnWidth; }set{if (_densityColumnWidth ! value){_densityColumnWidth value;CallBack(nameof(DensityColumnWidth));}}}public GridLength MaxInkColumnWidth{get { return _maxInkColumnWidth; }set{if (_maxInkColumnWidth ! value){_maxInkColumnWidth value;CallBack(nameof(MaxInkColumnWidth));}}}public DelegateCommand Command_ShowColorMode { get; private set; }private void Command_ShowColorModeExecuted(object obj)//用于设置{_isHalfWidth !_isHalfWidth;if (_isHalfWidth){// 展开两列各占一半DensityColumnWidth new GridLength(1, GridUnitType.Star);MaxInkColumnWidth new GridLength(1, GridUnitType.Star);}else{// 收起第一列完全隐藏第二列占满DensityColumnWidth new GridLength(0); // 绝对宽度 0MaxInkColumnWidth new GridLength(1, GridUnitType.Star);}}