Files
MetroGauges-Old/MetroGauges/wpfCadView.xaml
2026-02-23 17:02:55 +08:00

261 lines
14 KiB
XML

<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:MetroGauges"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:Controls="clr-namespace:MetroGauges.Controls" x:Class="MetroGauges.wpfCadView"
AllowsTransparency="True"
mc:Ignorable="d"
Icon="Resources/Icon/车辆限界.png"
Title="图形预览" Height="819.125" Width="1362.983" WindowState="Maximized" WindowStyle="None" ResizeMode="CanResizeWithGrip" >
<Grid>
<Grid.Resources>
<local:GroupDelConvert x:Key="groupDelConvert"/>
<!--块数据-->
<HierarchicalDataTemplate x:Key="tvBlocksProperty" ItemsSource="{Binding Blocks}" >
<StackPanel >
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="150px"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<!--分组-->
<StackPanel Orientation="Horizontal">
<Image Width="16" Height="16" Source="/MetroGauges;component/Resources/Icon/note.png" ></Image>
<TextBlock VerticalAlignment="Bottom" Text="{Binding Name}"></TextBlock>
</StackPanel>
<StackPanel Grid.Column="1" Orientation="Horizontal">
<!--<Image Width="16" Height="16" Source="/MetroGauges;component/Resources/Icon/import.png" ></Image>
<Image Width="16" Height="16" Margin="10,0,0,0" Source="/MetroGauges;component/Resources/Icon/DeleteRed16.png" ></Image>-->
<TextBlock x:Name="import" Text="导入" Tag="{Binding Id}" Cursor="Hand" PreviewMouseLeftButtonDown="import_PreviewMouseLeftButtonDown" ></TextBlock>
<TextBlock x:Name="delGroup" Text="X" Tag="{Binding Id}" Visibility="{Binding Path=Name,Converter={StaticResource groupDelConvert}, ConverterParameter=Name }" ToolTip="删除分类" Foreground="Red" Cursor="Hand" Margin="10,0,0,0" PreviewMouseLeftButtonDown="delGroup_PreviewMouseLeftButtonDown" ></TextBlock>
</StackPanel>
</Grid>
</StackPanel>
<!--组下面的块信息-->
<HierarchicalDataTemplate.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="150px"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" >
<Image Width="16" Height="16" Source="/MetroGauges;component/Resources/Icon/refence.png" ></Image>
<!--<TextBlock VerticalAlignment="Center" ToolTip="{Binding Name}" Text="{Binding Name}"></TextBlock>-->
<local:TreeNodeEdit Text="{Binding Name, Mode=TwoWay}" OnlyRemark="True" ToolTip="{Binding ToolTip}" NodeUpdated="TreeNodeEdit_NodeUpdated" />
</StackPanel>
<TextBlock x:Name="addBlock" Grid.Column="1" VerticalAlignment="Center" Tag="{Binding Filepath}" ToolTip="添加块" FontSize="18" Text="+" Cursor="Hand" PreviewMouseLeftButtonDown="addBlock_PreviewMouseLeftButtonDown" />
</Grid>
</DataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
</Grid.Resources>
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition Height="50"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<materialDesign:ColorZone
materialDesign:ShadowAssist.ShadowDepth="Depth2"
Mode="PrimaryDark"
MouseLeftButtonDown="HeaderZone_MouseLeftButtonDown">
<Grid >
<Grid.RowDefinitions>
<RowDefinition Height="10"></RowDefinition>
<RowDefinition Height="30"></RowDefinition>
</Grid.RowDefinitions>
<TextBlock Grid.Row="1" Margin="10,0,0,0" FontSize="15"><Run Text="图形预览"/></TextBlock>
<StackPanel Grid.Row="1" Margin="0,0,10,0" HorizontalAlignment="Right" Orientation="Horizontal">
<Button
x:Name="WindowMinimize"
Width="25"
Height="25"
Padding="0"
Click="WindowMinimize_Click"
Style="{DynamicResource MaterialDesignFlatButton}"
ToolTip="最小化">
<materialDesign:PackIcon
Width="25"
Height="25"
Foreground="White"
Kind="WindowMinimize"/>
</Button>
<Button
x:Name="WindowMaximize"
Width="25"
Height="25"
Padding="0"
Click="WindowMaximize_Click"
Style="{DynamicResource MaterialDesignFlatButton}"
ToolTip="最大化">
<materialDesign:PackIcon
Width="25"
Height="25"
Foreground="White"
Kind="WindowMaximize"/>
</Button>
<Button
x:Name="WindowClose"
Width="25"
Height="25"
Padding="0"
Click="WindowClose_Click"
Style="{DynamicResource MaterialDesignFlatButton}"
ToolTip="关闭">
<materialDesign:PackIcon
Width="25"
Height="25"
Foreground="White"
Kind="WindowClose"/>
</Button>
</StackPanel>
</Grid>
</materialDesign:ColorZone>
<ToolBarTray Grid.Row="1" >
<ToolBar ClipToBounds="False" Style="{DynamicResource MaterialDesignToolBar}" >
<Button x:Name="btExport" Click="btExport_Click" ToolTip="导出CAD Dxf文件">
<materialDesign:PackIcon Kind="ContentSave"/>
</Button>
<Button x:Name="btsuidaoRect" ToolTip="添加矩形隧道截面" Visibility="Collapsed" Foreground="Blue" Click="btsuidaoRect_Click">
<materialDesign:PackIcon Kind="ShapeRectanglePlus"/>
</Button>
<Button x:Name="btsuidaoCircle" ToolBar.OverflowMode="AsNeeded" Visibility="Collapsed" ToolTip="添加画圆隧道截面" Foreground="Blue" Click="btsuidaoCircle_Click" >
<materialDesign:PackIcon Kind="CircleOutline"/>
</Button>
<Button x:Name="btsuidaomadixin" ToolBar.OverflowMode="AsNeeded" Visibility="Collapsed" ToolTip="添加马蹄形隧道截面" Foreground="Blue" Click="btsuidaomadixin_Click" >
<materialDesign:PackIcon Kind="BookmarkPlusOutline"/>
</Button>
<Separator/>
<Button x:Name="btPolyline" ToolTip="画线,右键结束" Visibility="Collapsed" Click="btPolyline_Click">
<materialDesign:PackIcon Kind="VectorPolyline"/>
</Button>
<Button x:Name="btRect" ToolTip="画矩形" Visibility="Collapsed" Click="btRect_Click">
<materialDesign:PackIcon Kind="ShapeRectanglePlus"/>
</Button>
<Button x:Name="btCircle" ToolBar.OverflowMode="AsNeeded" Visibility="Collapsed" ToolTip="画圆" Click="btCircle_Click">
<materialDesign:PackIcon Kind="CircleOutline"/>
</Button>
<Button x:Name="btText" ToolBar.OverflowMode="AsNeeded" Visibility="Collapsed" ToolTip="添加文本" Click="btText_Click" >
<materialDesign:PackIcon Kind="Textbox"/>
</Button>
<Button ToolBar.OverflowMode="AsNeeded" x:Name="removBlock" ToolTip="删除选中块" Click="removBlock_Click" >
<materialDesign:PackIcon Kind="RemoveCircle" />
</Button>
<Button ToolBar.OverflowMode="AsNeeded" x:Name="ReverseBlock" ToolTip="反转选中块" Click="ReverseBlock_Click" Visibility="Collapsed" >
<materialDesign:PackIcon Kind="UnfoldMoreVertical" />
</Button>
<TextBlock Text="缩放:" VerticalAlignment="Center" Visibility="Collapsed" ></TextBlock>
<TextBox x:Name="txtScale" Width="40" Text="1" PreviewKeyDown="txtScale_PreviewKeyDown" Visibility="Collapsed" TextChanged="txtScale_TextChanged" ></TextBox>
<Button x:Name="btnormal" ToolTip="原始比例" Click="btnormal_Click" >
<materialDesign:PackIcon Kind="Keypad"/>
</Button>
</ToolBar>
</ToolBarTray>
<Grid Grid.Row="2" x:Name="gdCanvas">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="250px"/>
<ColumnDefinition Width="945*"/>
</Grid.ColumnDefinitions>
<StackPanel>
<CheckBox x:Name="scalVisbleChk" Height="30" Margin="10,0,0,0" Click="ScalVisible_Click" IsChecked="True">
显示坐标轴
</CheckBox>
<GroupBox Grid.Column="1" Foreground="White" >
<GroupBox.Header>
<StackPanel Orientation="Horizontal">
<TextBlock Text="块信息"/>
<TextBlock x:Name="addGroup" Text="+添加分类" Margin="130,0,0,0" Cursor="Hand" PreviewMouseLeftButtonDown="addGroup_PreviewMouseLeftButtonDown" />
</StackPanel>
</GroupBox.Header>
<TreeView VerticalAlignment="Top" x:Name="tvBlocks" ItemTemplate="{StaticResource tvBlocksProperty}" Background="#F5F5F5" Height="500" >
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<EventSetter Event="Selected" Handler="TreeViewItem_Selected" />
<EventSetter Event="MouseRightButtonDown" Handler="TreeViewItem_MouseRightButtonDown" > </EventSetter>
</Style>
</TreeView.ItemContainerStyle>
</TreeView>
</GroupBox>
<GroupBox Header="缩略图">
<!--<StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="左:" VerticalAlignment="Center"/>
<TextBox x:Name="txtleft" IsReadOnly="True" Width="60" Text="0" Margin="5,0,0,0" ></TextBox>
<TextBlock Text="左移:" VerticalAlignment="Center"/>
<TextBox x:Name="txtleftmove" Width="60" Text="0" TextChanged="txtXY_TextChanged" ></TextBox>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="右:" VerticalAlignment="Center"/>
<TextBox x:Name="txtRight" IsReadOnly="True" Width="60" Text="0" Margin="5,0,0,0" ></TextBox>
<TextBlock Text="右移:" VerticalAlignment="Center"/>
<TextBox x:Name="txtrightmove" Width="60" Text="0" TextChanged="txtXY_TextChanged" ></TextBox>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="上:" VerticalAlignment="Center"/>
<TextBox x:Name="txtUp" IsReadOnly="True" Width="60" Text="0" Margin="5,0,0,0" ></TextBox>
<TextBlock Text="上移:" VerticalAlignment="Center"/>
<TextBox x:Name="txtupmove" Width="60" Text="0" TextChanged="txtXY_TextChanged" ></TextBox>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="下:" VerticalAlignment="Center"/>
<TextBox x:Name="txtDown" IsReadOnly="True" Width="60" Text="0" Margin="5,0,0,0" ></TextBox>
<TextBlock Text="下移:" VerticalAlignment="Center"/>
<TextBox x:Name="txtdownmove" Width="60" Text="0" TextChanged="txtXY_TextChanged" ></TextBox>
</StackPanel>
</StackPanel>-->
<Controls:DesignControl Height="250" x:Name="smalldesign" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
</GroupBox>
</StackPanel>
<Controls:DesignControl Grid.Column="1" x:Name="designControl" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
</Grid>
</Grid>
</Window>