diff --git a/MainModule/ViewModels/MainViewModel.cs b/MainModule/ViewModels/MainViewModel.cs index db8d819..a945827 100644 --- a/MainModule/ViewModels/MainViewModel.cs +++ b/MainModule/ViewModels/MainViewModel.cs @@ -15,41 +15,41 @@ namespace MainModule.ViewModels private bool IsInitialized = false; private string _expandedCellName = string.Empty; #endregion - + #region 属性 public bool KeepAlive => true; // 保持存活 - + public string ExpandedCellName { get => _expandedCellName; set => SetProperty(ref _expandedCellName, value); } #endregion - + #region 命令 public ICommand LoadedCommand { get; set; } #endregion - + public MainViewModel(IContainerProvider containerProvider) : base(containerProvider) { LoadedCommand = new DelegateCommand(OnLoaded); _eventAggregator.GetEvent().Subscribe(OnCellExpandRequested); } - + #region 命令处理与事件 private void OnLoaded() { if (IsInitialized) return; - for (int i = 1; i <= 9; i++) + for (int i = 1; i <= 3; i++) { var parameters = new NavigationParameters { { "Name", $"TestCell{i}" } }; _regionManager.RequestNavigate($"TestCell{i}", "ProtocolStartView", parameters); } IsInitialized = true; } - + // 不再物理搬迁视图,只需修改一个字符串属性 ExpandedCellName, - // XAML 里每个单元的 Style.Triggers 会根据该值处理隐藏 / 跨越 3x3。 + // XAML 里每个单元的 Style.Triggers 会根据该值处理隐藏 / 跨越整行。 private void OnCellExpandRequested(string cellName) { ExpandedCellName = cellName ?? string.Empty; diff --git a/MainModule/Views/MainView.xaml b/MainModule/Views/MainView.xaml index 422b67c..aeba143 100644 --- a/MainModule/Views/MainView.xaml +++ b/MainModule/Views/MainView.xaml @@ -24,75 +24,9 @@ - - - - - - - - - - - + + @@ -100,14 +34,16 @@ - + - + diff --git a/TestingModule/Views/CommandTree.xaml b/TestingModule/Views/CommandTree.xaml index 6d5fe1d..45bd7d3 100644 --- a/TestingModule/Views/CommandTree.xaml +++ b/TestingModule/Views/CommandTree.xaml @@ -54,7 +54,7 @@ - + diff --git a/TestingModule/Views/SingleStepEdit.xaml b/TestingModule/Views/SingleStepEdit.xaml index cf3762c..8adf085 100644 --- a/TestingModule/Views/SingleStepEdit.xaml +++ b/TestingModule/Views/SingleStepEdit.xaml @@ -103,7 +103,7 @@ - + @@ -240,7 +240,7 @@ - + diff --git a/TestingModule/Views/StepsManager.xaml b/TestingModule/Views/StepsManager.xaml index 5672702..300ce10 100644 --- a/TestingModule/Views/StepsManager.xaml +++ b/TestingModule/Views/StepsManager.xaml @@ -53,6 +53,10 @@ + + + @@ -174,6 +178,10 @@ + + + @@ -262,6 +270,15 @@ + + + diff --git a/UIShare/Converters/StringToVisibilityConverter.cs b/UIShare/Converters/StringToVisibilityConverter.cs index 117a31d..61e363e 100644 --- a/UIShare/Converters/StringToVisibilityConverter.cs +++ b/UIShare/Converters/StringToVisibilityConverter.cs @@ -13,18 +13,20 @@ namespace UIShare.Converters { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { + // 是否反转结果(字符串非空时返回 Collapsed),用于需要“有值则隐藏”的场景,如展开全屏时隐藏台架标签页 + bool inverse = string.Equals(parameter?.ToString(), "Inverse", StringComparison.OrdinalIgnoreCase); if(value is string str) { if (string.IsNullOrEmpty(str)) { - return Visibility.Collapsed; + return inverse ? Visibility.Visible : Visibility.Collapsed; } else { - return Visibility.Visible; + return inverse ? Visibility.Collapsed : Visibility.Visible; } } - return Visibility.Collapsed; + return inverse ? Visibility.Visible : Visibility.Collapsed; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)