缩小插件UI界面宽度,优化布局

This commit is contained in:
tian 2026-01-17 14:39:55 +08:00
parent 1813c9831d
commit 6dcd27708d
7 changed files with 137 additions and 203 deletions

View File

@ -234,7 +234,6 @@
<Setter Property="FontSize" Value="12"/>
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Margin" Value="8,0"/>
</Style>
</ResourceDictionary>

View File

@ -33,7 +33,6 @@ NavisworksTransport 共享样式资源字典 - Navisworks 2026风格
<Setter Property="FontWeight" Value="Normal"/>
<Setter Property="FontSize" Value="12"/>
<Setter Property="Foreground" Value="{StaticResource NavisworksPrimaryBrush}"/>
<Setter Property="Padding" Value="0,5,0,2"/>
</Style>
<!-- 主要操作按钮样式 -->
@ -41,11 +40,10 @@ NavisworksTransport 共享样式资源字典 - Navisworks 2026风格
<Setter Property="Background" Value="{StaticResource NavisworksSecondaryBrush}"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="BorderBrush" Value="{StaticResource NavisworksPrimaryBrush}"/>
<Setter Property="Padding" Value="10,5"/>
<Setter Property="Margin" Value="0,0,10,0"/>
<Setter Property="FontWeight" Value="Normal"/>
<Setter Property="MinWidth" Value="60"/>
<Setter Property="Height" Value="28"/>
<Setter Property="Padding" Value="5,0"/>
<Setter Property="MinWidth" Value="50"/>
<Setter Property="Height" Value="24"/>
</Style>
<!-- 次要操作按钮样式 -->
@ -53,10 +51,10 @@ NavisworksTransport 共享样式资源字典 - Navisworks 2026风格
<Setter Property="Background" Value="{StaticResource NavisworksButtonBrush}"/>
<Setter Property="Foreground" Value="{StaticResource NavisworksPrimaryBrush}"/>
<Setter Property="BorderBrush" Value="{StaticResource NavisworksSecondaryBrush}"/>
<Setter Property="Padding" Value="8,4"/>
<Setter Property="Margin" Value="0,0,8,0"/>
<Setter Property="MinWidth" Value="60"/>
<Setter Property="Height" Value="28"/>
<Setter Property="Margin" Value="0,0,10,0"/>
<Setter Property="Padding" Value="5,0"/>
<Setter Property="MinWidth" Value="50"/>
<Setter Property="Height" Value="24"/>
</Style>
<!-- 状态文本样式 -->
@ -68,23 +66,20 @@ NavisworksTransport 共享样式资源字典 - Navisworks 2026风格
<!-- 参数标签样式 -->
<Style x:Key="ParameterLabelStyle" TargetType="Label">
<Setter Property="Width" Value="80"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Padding" Value="0,0,5,0"/>
<Setter Property="MinWidth" Value="40"/>
</Style>
<!-- 参数输入框样式 -->
<Style x:Key="ParameterInputStyle" TargetType="TextBox">
<Setter Property="Width" Value="80"/>
<Setter Property="Margin" Value="5,2"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="MinWidth" Value="40"/>
</Style>
<!-- 单位标签样式 -->
<Style x:Key="UnitLabelStyle" TargetType="Label">
<Setter Property="Width" Value="30"/>
<Setter Property="MinWidth" Value="30"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Padding" Value="2,0,0,0"/>
<Setter Property="FontSize" Value="10"/>
<Setter Property="Foreground" Value="{StaticResource NavisworksTextBrush}"/>
</Style>
@ -95,7 +90,7 @@ NavisworksTransport 共享样式资源字典 - Navisworks 2026风格
<Setter Property="Background" Value="#FFF5F5F5"/>
<Setter Property="BorderBrush" Value="#FFCCCCCC"/>
<Setter Property="Padding" Value="5,3"/>
<Setter Property="Margin" Value="5,2"/>
<Setter Property="Height" Value="24"/>
</Style>
<!-- TabControl样式定义 -->

View File

@ -68,7 +68,7 @@ namespace NavisworksTransport.UI.WPF.ViewModels
private string _currentSelectionText = "未选择项目";
private string _currentOperationText = "";
private double _progressPercentage;
private string _selectedSplitStrategy = "智能检测楼层";
private string _selectedSplitStrategy = "智能检测";
private string _selectedCustomLayerOption = "按楼层";
private bool _showCustomLayerOptions = false;
@ -252,8 +252,8 @@ namespace NavisworksTransport.UI.WPF.ViewModels
public ThreadSafeObservableCollection<string> SplitStrategies { get; } =
new ThreadSafeObservableCollection<string>
{
"智能检测楼层",
"自定义分层"
"智能检测",
"自定义"
};
/// <summary>
@ -266,8 +266,8 @@ namespace NavisworksTransport.UI.WPF.ViewModels
{
if (SetPropertyThreadSafe(ref _selectedSplitStrategy, value))
{
// 当选择"自定义分层"时显示二级选项
ShowCustomLayerOptions = value == "自定义分层";
// 当选择"自定义"时显示二级选项
ShowCustomLayerOptions = value == "自定义";
OnPropertyChanged(nameof(CanPreviewSplit));
OnPropertyChanged(nameof(CanExecuteSplit));
@ -2631,9 +2631,9 @@ namespace NavisworksTransport.UI.WPF.ViewModels
{
switch (strategy)
{
case "智能检测楼层":
case "智能检测":
return ModelSplitterManager.SplitStrategy.BySmartFloorDetection;
case "自定义分层":
case "自定义":
// 根据二级选项决定具体的自定义分层策略
switch (SelectedCustomLayerOption)
{
@ -2656,7 +2656,7 @@ namespace NavisworksTransport.UI.WPF.ViewModels
/// </summary>
public string GetFullStrategyDescription()
{
if (SelectedSplitStrategy == "自定义分层" && !string.IsNullOrEmpty(SelectedCustomLayerOption))
if (SelectedSplitStrategy == "自定义" && !string.IsNullOrEmpty(SelectedCustomLayerOption))
{
return $"{SelectedSplitStrategy} - {SelectedCustomLayerOption}";
}

View File

@ -48,12 +48,12 @@ NavisworksTransport 检测动画页签视图 - 采用与类别设置和分层管
<StackPanel>
<!-- 区域1: 动画参数设置 -->
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,0,0,15" Padding="12">
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Padding="10">
<StackPanel>
<Label Content="动画参数设置" Style="{StaticResource SectionHeaderStyle}"/>
<!-- 动画参数设置 -->
<Grid Margin="0,10,0,10">
<Grid Margin="0,5,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
@ -66,17 +66,14 @@ NavisworksTransport 检测动画页签视图 - 采用与类别设置和分层管
<Label Grid.Column="0" Content="帧率:" Style="{StaticResource ParameterLabelStyle}"/>
<ComboBox Grid.Column="1"
ItemsSource="{Binding AvailableFrameRates}"
SelectedItem="{Binding SelectedFrameRate}"
Width="80"
Margin="5,2,20,2"/>
<Label Grid.Column="2" Content="帧/秒" Style="{StaticResource UnitLabelStyle}" Margin="0,0,30,0"/>
<Label Grid.Column="3" Content="持续时间:" Style="{StaticResource ParameterLabelStyle}"/>
SelectedItem="{Binding SelectedFrameRate}"/>
<Label Grid.Column="2" Content="帧/秒" Style="{StaticResource UnitLabelStyle}"/>
<Label Grid.Column="3"
Content="持续时间:"
Style="{StaticResource ParameterLabelStyle}"/>
<TextBox Grid.Column="4"
Text="{Binding AnimationDuration, StringFormat=0.0###}"
Style="{StaticResource ParameterInputStyle}"
Width="80"
Margin="5,2"/>
Text="{Binding AnimationDuration, StringFormat=0.0###}"
Style="{StaticResource ParameterInputStyle}"/>
<Label Grid.Column="5" Content="秒" Style="{StaticResource UnitLabelStyle}"/>
</Grid>
@ -84,19 +81,21 @@ NavisworksTransport 检测动画页签视图 - 采用与类别设置和分层管
</Border>
<!-- 区域2: 碰撞检测参数 -->
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,0,0,15" Padding="12">
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,10,0,0" Padding="10">
<StackPanel>
<Label Content="碰撞检测参数" Style="{StaticResource SectionHeaderStyle}"/>
<Grid Margin="0,10,0,0">
<Grid Margin="0,5,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<!-- 检测间隙 -->
<StackPanel Grid.Row="0" Margin="0,5,0,5">
<Label Content="检测间隙(米)" Style="{StaticResource ParameterLabelStyle}"/>
<StackPanel Grid.Row="0">
<Label Content="检测间隙(米)"
Style="{StaticResource ParameterLabelStyle}"
HorizontalAlignment="Center"/>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
@ -110,14 +109,12 @@ NavisworksTransport 检测动画页签视图 - 采用与类别设置和分层管
Style="{StaticResource SliderStyle}"/>
<TextBlock Grid.Column="1"
Text="{Binding DetectionGap, StringFormat={}{0:F2}}"
VerticalAlignment="Center"
Margin="5,0,0,0"
Width="40"/>
VerticalAlignment="Center"/>
</Grid>
</StackPanel>
<!-- 步长、速度和路径长度显示 -->
<Grid Grid.Row="1" Margin="0,10,0,5">
<Grid Grid.Row="1" Margin="0,5,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
@ -125,17 +122,17 @@ NavisworksTransport 检测动画页签视图 - 采用与类别设置和分层管
</Grid.ColumnDefinitions>
<!-- 步长 -->
<TextBlock Grid.Column="0" Margin="0,0,10,0"
<TextBlock Grid.Column="0"
Text="{Binding CollisionDetectionAccuracy, StringFormat='步长: {0:F3} 米'}"
VerticalAlignment="Center"/>
<!-- 速度 -->
<TextBlock Grid.Column="1" Margin="5,0,5,0"
<TextBlock Grid.Column="1"
Text="{Binding MovementSpeed, StringFormat='速度: {0:F2} 米/秒'}"
VerticalAlignment="Center"/>
<!-- 路径长度 -->
<TextBlock Grid.Column="2" Margin="10,0,0,0"
<TextBlock Grid.Column="2"
Text="{Binding PathLength, StringFormat='路径长度: {0:F2} 米'}"
VerticalAlignment="Center"/>
</Grid>
@ -145,13 +142,12 @@ NavisworksTransport 检测动画页签视图 - 采用与类别设置和分层管
</Border>
<!-- 区域2.5: 指定碰撞检测对象 -->
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,0,0,15" Padding="12">
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,10,0,0" Padding="5">
<StackPanel>
<Expander Header="指定碰撞检测对象" IsExpanded="False" Margin="0,0,0,5">
<StackPanel Margin="10,5,0,0">
<Expander Header="指定碰撞检测对象" IsExpanded="False">
<StackPanel Margin="5,5,0,0">
<TextBlock Text="{Binding ManualCollisionTargetSummary}"
Style="{StaticResource StatusTextStyle}"
Margin="0,0,0,6"/>
Style="{StaticResource StatusTextStyle}"/>
<StackPanel Orientation="Vertical">
<CheckBox Content="启用手工指定模式"
@ -159,30 +155,27 @@ NavisworksTransport 检测动画页签视图 - 采用与类别设置和分层管
FontWeight="SemiBold"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,10,0,0">
<StackPanel Orientation="Horizontal" Margin="0,5,0,0">
<Button Content="选择对象"
Command="{Binding ApplyManualTargetsFromSelectionCommand}"
Style="{StaticResource SecondaryButtonStyle}"
Margin="0,0,8,0"/>
Style="{StaticResource SecondaryButtonStyle}"/>
<Button Content="清除"
Command="{Binding ClearManualTargetsCommand}"
Style="{StaticResource SecondaryButtonStyle}"
IsEnabled="{Binding HasManualCollisionTargets}"
Background="#FFFFE6E6"
Foreground="#FF8B0000"
Margin="0,0,8,0"/>
Foreground="#FF8B0000"/>
<Button Content="高亮显示"
Command="{Binding HighlightManualTargetsCommand}"
Style="{StaticResource SecondaryButtonStyle}"
IsEnabled="{Binding HasManualCollisionTargets}"
Margin="0,0,8,0"/>
IsEnabled="{Binding HasManualCollisionTargets}"/>
<Button Content="清除高亮"
Command="{Binding ClearManualHighlightsCommand}"
Style="{StaticResource SecondaryButtonStyle}"
IsEnabled="{Binding HasManualCollisionTargets}"/>
</StackPanel>
<StackPanel Margin="0,12,0,0"
<StackPanel Margin="0,5,0,0"
IsEnabled="{Binding IsManualCollisionTargetEnabled}">
<Label Content="已选对象列表"
Style="{StaticResource SectionHeaderStyle}"/>
@ -200,7 +193,7 @@ NavisworksTransport 检测动画页签视图 - 采用与类别设置和分层管
BorderThickness="1">
<ListView.View>
<GridView>
<GridViewColumn Header="检测对象" Width="320">
<GridViewColumn Header="检测对象" Width="240">
<GridViewColumn.CellTemplate>
<DataTemplate>
<StackPanel>
@ -211,7 +204,7 @@ NavisworksTransport 检测动画页签视图 - 采用与类别设置和分层管
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="操作" Width="80">
<GridViewColumn Header="操作" Width="60">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Button Content="移除"
@ -231,24 +224,23 @@ NavisworksTransport 检测动画页签视图 - 采用与类别设置和分层管
</Border>
<!-- 区域3: 生成动画 -->
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,0,0,15" Padding="12">
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,10,0,0" Padding="10">
<StackPanel>
<Label Content="生成动画" Style="{StaticResource SectionHeaderStyle}"/>
<!-- 移动物体来源选择 -->
<StackPanel Orientation="Horizontal" Margin="0,10,0,10">
<StackPanel Orientation="Horizontal" Margin="0,5,0,0">
<RadioButton Content="选择模型物体"
GroupName="ObjectSource"
VerticalAlignment="Center"/>
<RadioButton Content="使用虚拟车辆"
IsChecked="{Binding UseVirtualVehicle}"
GroupName="ObjectSource"
VerticalAlignment="Center"
Margin="20,0,0,0"/>
VerticalAlignment="Center"/>
</StackPanel>
<!-- 方式1选择模型物体 -->
<Grid Margin="0,5,0,10"
<Grid Margin="0,5,0,0"
Visibility="{Binding UseVirtualVehicle, Converter={StaticResource BoolToVisConverter}, ConverterParameter=Inverse}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
@ -256,46 +248,40 @@ NavisworksTransport 检测动画页签视图 - 采用与类别设置和分层管
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Content="移动物体:" Style="{StaticResource ParameterLabelStyle}" Width="80"/>
<Label Grid.Column="0" Content="移动物体:" Style="{StaticResource ParameterLabelStyle}"/>
<TextBlock Grid.Column="1"
Text="{Binding SelectedAnimatedObjectName, TargetNullValue='未选择移动物体'}"
VerticalAlignment="Center"
Margin="5,0,10,0"
FontWeight="SemiBold"
Foreground="{Binding SelectedAnimatedObject, Converter={x:Null}, TargetNullValue='#FF999999'}"
Background="#FFF5F5F5"
Padding="5,3"/>
Background="#FFF5F5F5"/>
<StackPanel Grid.Column="2" Orientation="Horizontal">
<Button Content="选择物体"
Command="{Binding SelectAnimatedObjectCommand}"
Style="{StaticResource SecondaryButtonStyle}"
Margin="0,0,5,0"/>
Style="{StaticResource SecondaryButtonStyle}"/>
<Button Content="清除"
Command="{Binding ClearAnimatedObjectCommand}"
IsEnabled="{Binding HasSelectedAnimatedObject}"
Style="{StaticResource SecondaryButtonStyle}"
Background="#FFFFE6E6"
Foreground="#FF8B0000"
Margin="0"/>
Foreground="#FF8B0000"/>
</StackPanel>
</Grid>
<!-- 方式2虚拟车辆 -->
<Grid Margin="0,5,0,10"
<Grid Margin="0,5,0,0"
Visibility="{Binding UseVirtualVehicle, Converter={StaticResource BoolToVisConverter}}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Content="虚拟车辆:" Style="{StaticResource ParameterLabelStyle}" Width="80"/>
<Label Grid.Column="0" Content="虚拟车辆:" Style="{StaticResource ParameterLabelStyle}"/>
<TextBlock Grid.Column="1"
VerticalAlignment="Center"
Margin="5,0,10,0"
FontWeight="SemiBold"
Foreground="#FF2B579A"
Background="#FFF5F5F5"
Padding="5,3">
Background="#FFF5F5F5">
<Run Text="长 "/>
<Run Text="{Binding VirtualVehicleLength, StringFormat=F1, Mode=OneWay}"/>
<Run Text="m × 宽 "/>
@ -310,40 +296,36 @@ NavisworksTransport 检测动画页签视图 - 采用与类别设置和分层管
<TextBlock Text="提示:虚拟车辆尺寸来自路径编辑中的车辆参数设置"
Style="{StaticResource StatusTextStyle}"
Foreground="#FF666666"
Margin="85,0,0,5"
Margin="5,0,0,5"
Visibility="{Binding UseVirtualVehicle, Converter={StaticResource BoolToVisConverter}}"/>
<!-- 选择路径 -->
<Grid Margin="0,5,0,10">
<Grid Margin="0,5,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Content="移动路径:" Style="{StaticResource ParameterLabelStyle}" Width="80"/>
<Label Grid.Column="0" Content="移动路径:" Style="{StaticResource ParameterLabelStyle}"/>
<TextBlock Grid.Column="1"
Text="{Binding CurrentPathRoute.Name, StringFormat='当前路径: {0}', TargetNullValue='当前路径: 未选择'}"
VerticalAlignment="Center"
Margin="5,0,10,0"
FontWeight="SemiBold"
Foreground="{Binding CurrentPathRoute, Converter={x:Null}, TargetNullValue='#FF999999'}"
Background="#FFF5F5F5"
Padding="5,3"/>
Background="#FFF5F5F5"/>
</Grid>
<!-- 路径信息 -->
<TextBlock Text="{Binding CurrentPathRoute.Points.Count, StringFormat='路径点数: {0}个', TargetNullValue='路径点数: 0个'}"
Style="{StaticResource StatusTextStyle}"
Margin="85,0,0,10"/>
Margin="5,0,0,0"/>
<!-- 生成动画按钮 -->
<StackPanel Orientation="Horizontal" Margin="0,5,0,5">
<StackPanel Orientation="Horizontal" Margin="0,5,0,0">
<Button Content="生成动画"
Command="{Binding GenerateAnimationCommand}"
IsEnabled="{Binding CanGenerateAnimation}"
Style="{StaticResource SecondaryButtonStyle}"
Height="28"
Padding="12,4"/>
Style="{StaticResource SecondaryButtonStyle}"/>
</StackPanel>
<!-- 生成状态提示 -->
@ -356,33 +338,31 @@ NavisworksTransport 检测动画页签视图 - 采用与类别设置和分层管
</Border>
<!-- 区域4: 专业级媒体播放控制 -->
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,0,0,15" Padding="12">
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,10,0,0" Padding="10">
<StackPanel>
<Label Content="播放控制" Style="{StaticResource SectionHeaderStyle}"/>
<!-- 专业级媒体控制条 -->
<views:MediaControlBar DataContext="{Binding}" Margin="0,10,0,10"/>
<views:MediaControlBar DataContext="{Binding}" Margin="0,5,0,0"/>
</StackPanel>
</Border>
<!-- 区域5: 碰撞检测结果 -->
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,0,0,15" Padding="12">
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,10,0,0" Padding="10">
<StackPanel>
<Label Content="碰撞检测结果" Style="{StaticResource SectionHeaderStyle}"/>
<!-- 报告按钮 -->
<StackPanel Orientation="Horizontal" Margin="0,10,0,15">
<StackPanel Orientation="Horizontal" Margin="0,5,0,0">
<Button Content="查看碰撞报告"
Command="{Binding ViewCollisionReportCommand}"
IsEnabled="{Binding HasClashDetectiveResults}"
Style="{StaticResource ActionButtonStyle}"
Margin="0,0,8,0"/>
Style="{StaticResource ActionButtonStyle}"/>
<Button Content="结果高亮"
Command="{Binding HighlightClashDetectiveResultsCommand}"
IsEnabled="{Binding HasClashDetectiveResults}"
Style="{StaticResource SecondaryButtonStyle}"
Margin="0,0,8,0"/>
Style="{StaticResource SecondaryButtonStyle}"/>
<Button Content="清除高亮"
Command="{Binding ClearClashDetectiveHighlightsCommand}"
IsEnabled="{Binding HasClashDetectiveResults}"
@ -390,19 +370,17 @@ NavisworksTransport 检测动画页签视图 - 采用与类别设置和分层管
<Button Content="预计算高亮(调试)"
Command="{Binding HighlightPrecomputedCollisionResultsCommand}"
IsEnabled="{Binding HasClashDetectiveResults}"
Style="{StaticResource SecondaryButtonStyle}"
Margin="0,0,8,0"/>
Style="{StaticResource SecondaryButtonStyle}"/>
<Button Content="清除预计算高亮(调试)"
Command="{Binding ClearPrecomputedCollisionHighlightsCommand}"
IsEnabled="{Binding HasClashDetectiveResults}"
Style="{StaticResource SecondaryButtonStyle}"
Margin="0,0,8,0"/>
Style="{StaticResource SecondaryButtonStyle}"/>
</StackPanel>
</StackPanel>
</Border>
<!-- 区域6: 碰撞检测历史 -->
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,0,0,15" Padding="12">
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,10,0,0" Padding="10">
<StackPanel>
<Grid>
<Grid.ColumnDefinitions>
@ -414,10 +392,7 @@ NavisworksTransport 检测动画页签视图 - 采用与类别设置和分层管
<Button Grid.Column="1"
Content="刷新"
Command="{Binding RefreshClashDetectiveResultsCommand}"
Style="{StaticResource SecondaryButtonStyle}"
Height="22"
Padding="8,2"
Margin="0,0,0,0"/>
Style="{StaticResource SecondaryButtonStyle}"/>
</Grid>
<TextBlock Text="当前路径暂无碰撞检测结果"
@ -463,30 +438,23 @@ NavisworksTransport 检测动画页签视图 - 采用与类别设置和分层管
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="操作" Width="260">
<GridViewColumn Header="操作" Width="180">
<GridViewColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Button Content="高亮"
Command="{Binding ViewCommand}"
Style="{StaticResource SecondaryButtonStyle}"
Height="20"
Padding="6,0"
Margin="0,0,4,0"/>
<Button Content="报告"
Command="{Binding ReportCommand}"
Style="{StaticResource SecondaryButtonStyle}"
Height="20"
Padding="6,0"
Margin="0,0,4,0"/>
<Button Content="删除"
Command="{Binding DeleteCommand}"
Style="{StaticResource SecondaryButtonStyle}"
Height="20"
Padding="6,0"
Background="#FFFFE6E6"
Foreground="#FF8B0000"
Margin="0"/>
Foreground="#FF8B0000"/>
</StackPanel>
</DataTemplate>
</GridViewColumn.CellTemplate>
@ -497,8 +465,8 @@ NavisworksTransport 检测动画页签视图 - 采用与类别设置和分层管
</StackPanel>
</Border>
<!-- 区域7: 碰撞构件清单 -->
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,0,0,15" Padding="12">
<!-- 区域7: 碰撞构件清单 -->
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,10,0,0" Padding="10">
<StackPanel>
<Grid>
<Grid.ColumnDefinitions>
@ -510,10 +478,7 @@ NavisworksTransport 检测动画页签视图 - 采用与类别设置和分层管
<Button Grid.Column="1"
Content="清除高亮"
Command="{Binding ClearClashDetectiveHighlightsCommand}"
Style="{StaticResource SecondaryButtonStyle}"
Height="22"
Padding="8,2"
Margin="0,0,0,0"/>
Style="{StaticResource SecondaryButtonStyle}"/>
</Grid>
<TextBlock Text="请先在碰撞检测历史中选择一个检测结果"
@ -541,7 +506,7 @@ NavisworksTransport 检测动画页签视图 - 采用与类别设置和分层管
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="构件名称" Width="400">
<GridViewColumn Header="构件名称" Width="240">
<GridViewColumn.CellTemplate>
<DataTemplate>
<StackPanel>
@ -564,12 +529,12 @@ NavisworksTransport 检测动画页签视图 - 采用与类别设置和分层管
</Border>
<!-- 区域8: 当前路径信息 -->
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,0,0,0" Padding="12">
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,10,0,0" Padding="10">
<StackPanel>
<Label Content="当前路径信息" Style="{StaticResource SectionHeaderStyle}"/>
<!-- 当前路径信息 -->
<Grid Margin="0,5,0,10">
<Grid Margin="0,5,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
@ -578,8 +543,7 @@ NavisworksTransport 检测动画页签视图 - 采用与类别设置和分层管
<TextBlock Grid.Row="0"
Text="{Binding CurrentPathRoute.Name, StringFormat='当前路径: {0}', TargetNullValue='当前路径: 未选择'}"
FontWeight="SemiBold"
Foreground="#FF2B579A"
Margin="0,0,0,5"/>
Foreground="#FF2B579A"/>
<TextBlock Grid.Row="1"
Text="{Binding CurrentPathRoute.Points.Count, StringFormat='路径点数: {0}个', TargetNullValue='路径点数: 0个'}"

View File

@ -142,15 +142,15 @@ NavisworksTransport 分层管理页签视图 - 重构优化版本
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Content="分层策略:" VerticalAlignment="Center"/>
<ComboBox Grid.Column="1"
ItemsSource="{Binding SplitStrategies}"
SelectedItem="{Binding SelectedSplitStrategy}"

View File

@ -174,7 +174,7 @@
<StackPanel Grid.Column="0" Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,0,10,0">
<TextBlock Text="{Binding CurrentTimeDisplay}"
Style="{StaticResource TimeDisplayStyle}"
MinWidth="50"
MinWidth="40"
TextAlignment="Right"/>
</StackPanel>
@ -185,24 +185,24 @@
Minimum="0"
Maximum="{Binding TimelineDuration}"
Style="{StaticResource TimelineSliderStyle}"
Width="300"
Width="200"
TickFrequency="1"
IsSnapToTickEnabled="True"
ToolTip="点击或拖动跳转到指定位置"/>
</StackPanel>
<!-- 右侧信息区 -->
<StackPanel Grid.Column="2" Orientation="Horizontal" HorizontalAlignment="Left" Margin="10,0,0,0">
<StackPanel Grid.Column="2" Orientation="Horizontal" HorizontalAlignment="Left" Margin="5,0,0,0">
<TextBlock Text="{Binding TotalTimeDisplay}"
Style="{StaticResource TimeDisplayStyle}"
MinWidth="50"
Margin="0,0,15,0"/>
MinWidth="40"/>
<TextBlock Text="{Binding FrameInfoDisplay}"
Style="{StaticResource TimeDisplayStyle}"
Foreground="#FF999999"
FontSize="10"
MinWidth="80"
TextAlignment="Left"/>
MinWidth="40"
TextAlignment="Left"
Margin="5,0,5,0"/>
</StackPanel>
</Grid>

View File

@ -40,37 +40,31 @@ NavisworksTransport 路径编辑页签视图 - 采用与动画控制和分层管
<StackPanel>
<!-- 区域1: 自动路径规划 -->
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,0,0,15" Padding="12">
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Padding="10">
<StackPanel>
<Label Content="自动路径规划" Style="{StaticResource SectionHeaderStyle}"/>
<!-- 起点和终点设置 -->
<StackPanel Margin="0,10,0,10">
<StackPanel Orientation="Horizontal" Margin="0,0,0,8">
<StackPanel>
<StackPanel Orientation="Horizontal" Margin="0,5,0,0">
<Button Content="选择起点"
Command="{Binding SelectStartPointCommand}"
Style="{StaticResource SecondaryButtonStyle}"
Width="80"
Margin="0,0,10,0"/>
Style="{StaticResource SecondaryButtonStyle}"/>
<TextBox Text="{Binding AutoPathStartPoint}"
Style="{StaticResource ReadOnlyTextBoxStyle}"
Width="280"/>
Style="{StaticResource ReadOnlyTextBoxStyle}"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Horizontal" Margin="0,5,0,0">
<Button Content="选择终点"
Command="{Binding SelectEndPointCommand}"
Style="{StaticResource SecondaryButtonStyle}"
Width="80"
Margin="0,0,10,0"/>
Style="{StaticResource SecondaryButtonStyle}"/>
<TextBox Text="{Binding AutoPathEndPoint}"
Style="{StaticResource ReadOnlyTextBoxStyle}"
Width="280"/>
Style="{StaticResource ReadOnlyTextBoxStyle}"/>
</StackPanel>
</StackPanel>
<!-- 车辆参数设置 - 改为三个独立参数 -->
<Grid Margin="0,5,0,10">
<Grid Margin="0,5,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
@ -78,8 +72,6 @@ NavisworksTransport 路径编辑页签视图 - 采用与动画控制和分层管
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
@ -90,43 +82,38 @@ NavisworksTransport 路径编辑页签视图 - 采用与动画控制和分层管
<Label Grid.Row="0" Grid.Column="0" Content="车辆长度:" Style="{StaticResource ParameterLabelStyle}"/>
<TextBox Grid.Row="0" Grid.Column="1"
Text="{Binding VehicleLength, StringFormat=0.0###}"
Style="{StaticResource ParameterInputStyle}"
Width="60"/>
<Label Grid.Row="0" Grid.Column="2" Content="米" Style="{StaticResource UnitLabelStyle}" Margin="0,0,15,0"/>
Style="{StaticResource ParameterInputStyle}"/>
<Label Grid.Row="0" Grid.Column="2" Content="米" Style="{StaticResource UnitLabelStyle}"/>
<!-- 车辆宽度 -->
<Label Grid.Row="0" Grid.Column="3" Content="车辆宽度:" Style="{StaticResource ParameterLabelStyle}"/>
<TextBox Grid.Row="0" Grid.Column="4"
Text="{Binding VehicleWidth, StringFormat=0.0###}"
Style="{StaticResource ParameterInputStyle}"
Width="60"/>
Style="{StaticResource ParameterInputStyle}"/>
<Label Grid.Row="0" Grid.Column="5" Content="米" Style="{StaticResource UnitLabelStyle}"/>
<!-- 车辆高度 -->
<Label Grid.Row="1" Grid.Column="0" Content="车辆高度:" Style="{StaticResource ParameterLabelStyle}"/>
<TextBox Grid.Row="1" Grid.Column="1"
Text="{Binding VehicleHeight, StringFormat=0.0###}"
Style="{StaticResource ParameterInputStyle}"
Width="60"/>
<Label Grid.Row="1" Grid.Column="2" Content="米" Style="{StaticResource UnitLabelStyle}" Margin="0,0,15,0"/>
Style="{StaticResource ParameterInputStyle}"/>
<Label Grid.Row="1" Grid.Column="2" Content="米" Style="{StaticResource UnitLabelStyle}"/>
<!-- 安全间隙 -->
<Label Grid.Row="1" Grid.Column="3" Content="安全间隙:" Style="{StaticResource ParameterLabelStyle}"/>
<TextBox Grid.Row="1" Grid.Column="4"
Text="{Binding SafetyMargin, StringFormat=0.00###}"
Style="{StaticResource ParameterInputStyle}"
Width="60"/>
Style="{StaticResource ParameterInputStyle}"/>
<Label Grid.Row="1" Grid.Column="5" Content="米" Style="{StaticResource UnitLabelStyle}"/>
</Grid>
<!-- 路径策略选择 -->
<StackPanel Orientation="Horizontal" Margin="0,10,0,5">
<StackPanel Orientation="Horizontal" Margin="0,5,0,0">
<Label Content="路径策略:" Style="{StaticResource ParameterLabelStyle}"/>
<ComboBox ItemsSource="{Binding PathStrategyOptions}"
SelectedItem="{Binding SelectedPathStrategy}"
DisplayMemberPath="DisplayName"
SelectedValuePath="Value"
Width="120"
ToolTip="选择路径规划算法策略"/>
<TextBlock Text="优化偏好设置,影响路径生成算法"
Style="{StaticResource StatusTextStyle}"
@ -136,10 +123,10 @@ NavisworksTransport 路径编辑页签视图 - 采用与动画控制和分层管
</StackPanel>
<!-- 高级设置区域 -->
<Expander Header="高级设置" IsExpanded="False" Margin="0,10,0,5">
<Expander Header="高级设置" IsExpanded="False" Margin="0,5,0,0">
<StackPanel Margin="10">
<!-- 网格大小设置 -->
<Grid Margin="0,5,0,15">
<Grid Margin="0,5,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
@ -150,7 +137,6 @@ NavisworksTransport 路径编辑页签视图 - 采用与动画控制和分层管
<CheckBox Grid.Row="0"
Content="手动设置网格大小"
IsChecked="{Binding IsGridSizeManuallyEnabled}"
Margin="0,0,0,10"
ToolTip="启用后可手动设置路径规划的网格精度,否则系统根据模型大小自动选择"/>
<!-- 滑块控制 -->
@ -171,7 +157,7 @@ NavisworksTransport 路径编辑页签视图 - 采用与动画控制和分层管
Text="{Binding GridSize, StringFormat={}{0:F1}}"
VerticalAlignment="Center"
Margin="10,0,0,0"
Width="40"/>
Width="30"/>
</Grid>
</StackPanel>
@ -188,7 +174,7 @@ NavisworksTransport 路径编辑页签视图 - 采用与动画控制和分层管
</Expander>
<!-- 规划操作按钮 -->
<StackPanel Orientation="Horizontal" Margin="0,10,0,5">
<StackPanel Orientation="Horizontal" Margin="0,10,0,0">
<Button Content="自动规划路径"
Command="{Binding AutoPlanPathCommand}"
Style="{StaticResource ActionButtonStyle}"
@ -202,20 +188,19 @@ NavisworksTransport 路径编辑页签视图 - 采用与动画控制和分层管
</Border>
<!-- 区域2: 路径列表管理 -->
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,0,0,15" Padding="12">
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,10,0,0" Padding="10">
<StackPanel>
<Label Content="路径列表" Style="{StaticResource SectionHeaderStyle}"/>
<!-- 路径管理按钮 -->
<Grid Margin="0,10,0,10">
<Grid Margin="0,5,0,0">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
<Button Content="手动创建"
Command="{Binding NewPathCommand}"
Style="{StaticResource ActionButtonStyle}"/>
<Button Content="空轨路径"
Command="{Binding NewRailPathCommand}"
Style="{StaticResource ActionButtonStyle}"
Margin="5,0,0,0"/>
Style="{StaticResource ActionButtonStyle}"/>
<Button Content="删除"
Command="{Binding DeletePathCommand}"
Style="{StaticResource SecondaryButtonStyle}"
@ -229,8 +214,7 @@ NavisworksTransport 路径编辑页签视图 - 采用与动画控制和分层管
ToolTip="多路径对比分析..."
Style="{StaticResource SecondaryButtonStyle}"
Click="OnPathAnalysisButtonClick"
HorizontalAlignment="Right"
Margin="0,0,0,0"/>
HorizontalAlignment="Right"/>
</Grid>
<!-- 路径列表 -->
@ -238,7 +222,8 @@ NavisworksTransport 路径编辑页签视图 - 采用与动画控制和分层管
SelectedItem="{Binding SelectedPathRoute}"
Height="120"
BorderBrush="#FFCCCCCC"
BorderThickness="1">
BorderThickness="1"
Margin="0,5,0,0">
<ListView.View>
<GridView>
<GridViewColumn Header="路径名称" DisplayMemberBinding="{Binding Name}" Width="120"/>
@ -272,12 +257,12 @@ NavisworksTransport 路径编辑页签视图 - 采用与动画控制和分层管
</Border>
<!-- 区域3: 路径编辑 -->
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,0,0,15" Padding="12">
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,10,0,0" Padding="10">
<StackPanel>
<Label Content="路径编辑" Style="{StaticResource SectionHeaderStyle}"/>
<!-- 编辑控制按钮 -->
<StackPanel Orientation="Horizontal" Margin="0,10,0,10">
<StackPanel Orientation="Horizontal" Margin="0,5,0,0">
<Button Content="添加路径点"
Command="{Binding StartEditCommand}"
Style="{StaticResource ActionButtonStyle}"
@ -299,7 +284,7 @@ NavisworksTransport 路径编辑页签视图 - 采用与动画控制和分层管
</StackPanel>
<!-- 当前路径信息 -->
<Grid Margin="0,5,0,10">
<Grid Margin="0,5,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
@ -313,7 +298,7 @@ NavisworksTransport 路径编辑页签视图 - 采用与动画控制和分层管
Foreground="{Binding SelectedPathRoute, Converter={x:Null}, TargetNullValue='#FF999999'}"
Background="#FFF5F5F5"
Padding="5,3"
Margin="5,0"/>
Margin="0,5,0,0"/>
</Grid>
<!-- 路径点列表 -->
@ -321,7 +306,8 @@ NavisworksTransport 路径编辑页签视图 - 采用与动画控制和分层管
SelectedItem="{Binding SelectedPathPoint}"
Height="150"
BorderBrush="#FFCCCCCC"
BorderThickness="1">
BorderThickness="1"
Margin="0,5,0,0">
<ListView.View>
<GridView>
<GridViewColumn Header="点名称" DisplayMemberBinding="{Binding Name}" Width="80"/>
@ -367,12 +353,12 @@ NavisworksTransport 路径编辑页签视图 - 采用与动画控制和分层管
</Border>
<!-- 区域4: 路径文件管理 -->
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,0,0,15" Padding="12">
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,10,0,0" Padding="10">
<StackPanel>
<Label Content="路径文件管理" Style="{StaticResource SectionHeaderStyle}"/>
<!-- 文件操作按钮 -->
<StackPanel Orientation="Horizontal" Margin="0,10,0,10">
<StackPanel Orientation="Horizontal">
<Button Content="导入"
Command="{Binding ImportPathCommand}"
Style="{StaticResource SecondaryButtonStyle}"/>
@ -394,12 +380,12 @@ NavisworksTransport 路径编辑页签视图 - 采用与动画控制和分层管
</Border>
<!-- 区域5: 可视化设置 -->
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,0,0,15" Padding="12">
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,10,0,0" Padding="10">
<StackPanel>
<Label Content="可视化设置" Style="{StaticResource SectionHeaderStyle}"/>
<!-- 网格可视化开关 -->
<Grid Margin="0,10,0,10">
<Grid Margin="0,5,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
@ -408,7 +394,6 @@ NavisworksTransport 路径编辑页签视图 - 采用与动画控制和分层管
<Label Grid.Column="0"
Content="网格可视化:"
Style="{StaticResource ParameterLabelStyle}"
Width="100"
VerticalAlignment="Center"/>
<StackPanel Grid.Column="1"
@ -417,17 +402,14 @@ NavisworksTransport 路径编辑页签视图 - 采用与动画控制和分层管
Margin="5,0,0,0">
<CheckBox Content="通行"
IsChecked="{Binding ShowWalkableGrid}"
Margin="0,0,20,0"
VerticalAlignment="Center"
ToolTip="显示可通行的网格点"/>
<CheckBox Content="障碍物"
IsChecked="{Binding ShowObstacleGrid}"
Margin="0,0,20,0"
VerticalAlignment="Center"
ToolTip="显示障碍物网格点"/>
<CheckBox Content="未知"
IsChecked="{Binding ShowUnknownGrid}"
Margin="0,0,20,0"
VerticalAlignment="Center"
ToolTip="显示未知区域网格点"/>
<CheckBox Content="门"
@ -438,7 +420,7 @@ NavisworksTransport 路径编辑页签视图 - 采用与动画控制和分层管
</Grid>
<!-- 路径可视化设置 -->
<Grid Margin="0,10,0,10">
<Grid Margin="0,5,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
@ -447,7 +429,6 @@ NavisworksTransport 路径编辑页签视图 - 采用与动画控制和分层管
<Label Grid.Column="0"
Content="路径可视化:"
Style="{StaticResource ParameterLabelStyle}"
Width="100"
VerticalAlignment="Center"/>
<StackPanel Grid.Column="1"
@ -458,13 +439,11 @@ NavisworksTransport 路径编辑页签视图 - 采用与动画控制和分层管
<RadioButton Content="地面连线"
GroupName="PathVisualizationMode"
IsChecked="{Binding IsRibbonLineMode}"
Margin="0,0,20,0"
VerticalAlignment="Center"
ToolTip="显示地表连线(长方体)"/>
<RadioButton Content="通行空间"
GroupName="PathVisualizationMode"
IsChecked="{Binding IsVehicleSpaceMode}"
Margin="0,0,20,0"
VerticalAlignment="Center"
ToolTip="显示通行空间(矩形通道)"/>
<!-- 显示控制点开关 -->
@ -476,7 +455,7 @@ NavisworksTransport 路径编辑页签视图 - 采用与动画控制和分层管
</Grid>
<!-- 网格点类型设置 -->
<Grid Margin="0,10,0,10">
<Grid Margin="0,5,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
@ -485,7 +464,6 @@ NavisworksTransport 路径编辑页签视图 - 采用与动画控制和分层管
<Label Grid.Column="0"
Content="网格点类型:"
Style="{StaticResource ParameterLabelStyle}"
Width="100"
VerticalAlignment="Center"/>
<StackPanel Grid.Column="1"
@ -495,7 +473,6 @@ NavisworksTransport 路径编辑页签视图 - 采用与动画控制和分层管
<RadioButton Content="正方形"
GroupName="GridPointType"
IsChecked="{Binding IsRectanglePointType}"
Margin="0,0,20,0"
VerticalAlignment="Center"
ToolTip="显示立方体网格点"/>
<RadioButton Content="圆"
@ -509,7 +486,7 @@ NavisworksTransport 路径编辑页签视图 - 采用与动画控制和分层管
</Border>
<!-- 区域6: 3D交互指南 -->
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,0,0,0" Padding="12">
<Border BorderBrush="#FFD4E7FF" BorderThickness="1" CornerRadius="0" Margin="0,10,0,0" Padding="10">
<StackPanel>
<Label Content="3D交互操作指南" Style="{StaticResource SectionHeaderStyle}"/>
@ -524,7 +501,6 @@ NavisworksTransport 路径编辑页签视图 - 采用与动画控制和分层管
<TextBlock Text="• 调整车辆尺寸和安全间隙参数后点击&quot;自动规划路径&quot;"
Style="{StaticResource StatusTextStyle}"
Margin="10,2"/>
<TextBlock Text="路径编辑:"
FontWeight="SemiBold"
Margin="0,8,0,2"/>