DxfView.xaml 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. <UserControl x:Class="TeamAAS_VP.DxfModule.DxfView"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
  7. xmlns:local="clr-namespace:TeamAAS_VP.DxfModule"
  8. xmlns:lex="http://wpflocalizeextension.codeplex.com"
  9. lex:LocalizeDictionary.DesignCulture="zh-CN"
  10. lex:ResxLocalizationProvider.DefaultAssembly="TeamAAS-VP"
  11. lex:ResxLocalizationProvider.DefaultDictionary="Lang"
  12. mc:Ignorable="d"
  13. Height="768"
  14. Width="1024">
  15. <Grid>
  16. <Grid.RowDefinitions>
  17. <RowDefinition Height="Auto" />
  18. <RowDefinition Height="*" />
  19. <RowDefinition Height="Auto" />
  20. <RowDefinition Height="200" />
  21. <RowDefinition Height="Auto" />
  22. </Grid.RowDefinitions>
  23. <!-- Toolbar -->
  24. <ToolBar Grid.Row="0"
  25. Padding="5">
  26. <Button Name="BtnLoadDxf"
  27. Content="导入DXF"
  28. Click="BtnLoadDxf_Click"
  29. Padding="10,5" />
  30. <Separator />
  31. <Button Name="BtnClearSelection"
  32. Content="清除选择"
  33. Click="BtnClearSelection_Click"
  34. Padding="10,5" />
  35. <Button Name="BtnExtractSelected"
  36. Content="提取选中图形"
  37. Click="BtnExtractSelected_Click"
  38. Padding="10,5" />
  39. <Separator />
  40. <Button Name="BtnZoomIn"
  41. Content="放大"
  42. Click="BtnZoomIn_Click"
  43. Padding="10,5" />
  44. <Button Name="BtnZoomOut"
  45. Content="缩小"
  46. Click="BtnZoomOut_Click"
  47. Padding="10,5" />
  48. <Button Name="BtnFitToScreen"
  49. Content="适应窗口"
  50. Click="BtnFitToScreen_Click"
  51. Padding="10,5" />
  52. </ToolBar>
  53. <!-- Canvas Area -->
  54. <Border Grid.Row="1"
  55. BorderBrush="Gray"
  56. BorderThickness="1"
  57. Margin="5">
  58. <ScrollViewer Name="ScrollViewer"
  59. HorizontalScrollBarVisibility="Auto"
  60. VerticalScrollBarVisibility="Auto">
  61. <Canvas Name="DrawingCanvas"
  62. Background="Black"
  63. Width="2000"
  64. Height="2000"
  65. MouseWheel="DrawingCanvas_MouseWheel">
  66. <Canvas.LayoutTransform>
  67. <ScaleTransform x:Name="CanvasScaleTransform"
  68. ScaleX="1"
  69. ScaleY="1" />
  70. </Canvas.LayoutTransform>
  71. </Canvas>
  72. </ScrollViewer>
  73. </Border>
  74. <!-- Status Bar -->
  75. <StatusBar Grid.Row="2"
  76. Padding="5">
  77. <StatusBarItem>
  78. <TextBlock Name="TxtStatus"
  79. Text="就绪" />
  80. </StatusBarItem>
  81. <Separator />
  82. <StatusBarItem>
  83. <TextBlock Name="TxtEntityCount"
  84. Text="实体数: 0" />
  85. </StatusBarItem>
  86. <Separator />
  87. <StatusBarItem>
  88. <TextBlock Name="TxtSelectedCount"
  89. Text="选中: 0" />
  90. </StatusBarItem>
  91. <Separator />
  92. <StatusBarItem>
  93. <TextBlock Name="TxtZoom"
  94. Text="缩放: 100%" />
  95. </StatusBarItem>
  96. </StatusBar>
  97. <!-- Info Panel -->
  98. <Grid Grid.Row="3"
  99. Margin="5">
  100. <Grid.ColumnDefinitions>
  101. <ColumnDefinition Width="70*" />
  102. <ColumnDefinition Width="30*" />
  103. </Grid.ColumnDefinitions>
  104. <!-- Statistics -->
  105. <GroupBox Header="文件统计"
  106. Grid.Column="0"
  107. Margin="0,0,2,0"
  108. Style="{x:Null}">
  109. <ScrollViewer VerticalScrollBarVisibility="Auto">
  110. <TextBlock Name="TxtStatistics"
  111. Padding="5"
  112. TextWrapping="Wrap"
  113. FontFamily="Consolas" />
  114. </ScrollViewer>
  115. </GroupBox>
  116. <!-- Selected Entities Info -->
  117. <GroupBox Header="选中图形信息"
  118. Grid.Column="1"
  119. Margin="2,0,0,0"
  120. Style="{x:Null}">
  121. <ScrollViewer VerticalScrollBarVisibility="Auto">
  122. <TextBlock Name="TxtSelectedInfo"
  123. Padding="5"
  124. TextWrapping="Wrap"
  125. FontFamily="Consolas" />
  126. </ScrollViewer>
  127. </GroupBox>
  128. </Grid>
  129. <StackPanel Grid.Row="4"
  130. Orientation="Horizontal"
  131. HorizontalAlignment="Left"
  132. Margin="10,5">
  133. <TextBlock VerticalAlignment="Center"
  134. Text="提取的图形将添加到当前项目中." />
  135. <TextBlock VerticalAlignment="Center"
  136. Margin="10,0,0,0"
  137. Text="要导入的点位表开始索引:" />
  138. <materialDesign:NumericUpDown x:Name="TxtStartIndex"
  139. Width="100"
  140. VerticalAlignment="Center"
  141. VerticalContentAlignment="Center"
  142. HorizontalContentAlignment="Center"
  143. Margin="5,0,0,0"
  144. ValueStep="1"
  145. Minimum="1"
  146. Maximum="999"
  147. ValueChanged="TxtStartIndex_ValueChanged" />
  148. </StackPanel>
  149. <StackPanel Grid.Row="4"
  150. Orientation="Horizontal"
  151. HorizontalAlignment="Right"
  152. Margin="5">
  153. <Button Command="{x:Static materialDesign:DialogHost.CloseDialogCommand}"
  154. CommandParameter="{Binding}"
  155. IsDefault="True"
  156. Content="{lex:Loc 确定}"
  157. Margin="0,0,12,0" />
  158. <Button Margin="0"
  159. Command="{x:Static materialDesign:DialogHost.CloseDialogCommand}"
  160. IsCancel="True"
  161. Content="{lex:Loc 取消}">
  162. <Button.CommandParameter>
  163. <x:Null />
  164. </Button.CommandParameter>
  165. </Button>
  166. </StackPanel>
  167. </Grid>
  168. </UserControl>