After Width: | Height: | Size: 4.6 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 731 B |
After Width: | Height: | Size: 2.6 KiB |
@ -0,0 +1,144 @@ |
||||
<Border x:Class="SparkClient.Views.UserControl.Viewport3D" |
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" |
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" |
||||
xmlns:local="clr-namespace:SparkClient.Views.UserControl" |
||||
xmlns:hx="http://helix-toolkit.org/wpf/SharpDX" |
||||
xmlns:hc="https://handyorg.github.io/handycontrol" |
||||
mc:Ignorable="d" |
||||
> |
||||
<!-- Tongg注: 后期如果时间充裕把这个控件单独封装在一个DLL里边,影响MVVM结构--> |
||||
<Grid> |
||||
<Grid.RowDefinitions> |
||||
<RowDefinition Height="Auto" /> |
||||
<RowDefinition Height="*" /> |
||||
<RowDefinition Height="Auto" /> |
||||
</Grid.RowDefinitions> |
||||
<Grid Grid.Row="0" Height="50"> |
||||
<Grid.ColumnDefinitions> |
||||
<ColumnDefinition Width="Auto"/> |
||||
<ColumnDefinition Width="Auto"/> |
||||
<ColumnDefinition Width="Auto"/> |
||||
<ColumnDefinition Width="Auto"/> |
||||
<ColumnDefinition Width="Auto"/> |
||||
</Grid.ColumnDefinitions> |
||||
<Button Grid.Column="0" Background="Transparent" BorderBrush="Transparent" Height="50" Padding="2"> |
||||
<Border BorderBrush="DarkGoldenrod" BorderThickness="1" CornerRadius="10" Padding="5" > |
||||
<Image Source="pack://Application:,,,/Resource/Images/UserControl/zuanshi@3x.png" ></Image> |
||||
</Border> |
||||
</Button> |
||||
<Button Grid.Column="1" Background="Transparent" BorderBrush="Transparent" Height="50" Padding="2"> |
||||
<Border BorderBrush="DarkGoldenrod" BorderThickness="1" CornerRadius="10" Padding="5" > |
||||
<Image Source="pack://Application:,,,/Resource/Images/UserControl/Top@3x.png" ></Image> |
||||
</Border> |
||||
</Button> |
||||
<Button Grid.Column="2" Background="Transparent" BorderBrush="Transparent" Height="50" Padding="2"> |
||||
<Border BorderBrush="DarkGoldenrod" BorderThickness="1" CornerRadius="10" Padding="5" > |
||||
<Image Source="pack://Application:,,,/Resource/Images/UserControl/Bottom@3x.png" ></Image> |
||||
</Border> |
||||
</Button> |
||||
<Button Grid.Column="3" Background="Transparent" BorderBrush="Transparent" Height="50" Padding="2"> |
||||
<Border BorderBrush="DarkGoldenrod" BorderThickness="1" CornerRadius="10" Padding="5" > |
||||
<Image Source="pack://Application:,,,/Resource/Images/UserControl/biaochi1@3x.png" ></Image> |
||||
</Border> |
||||
</Button> |
||||
<Button Grid.Column="4" Background="Transparent" BorderBrush="Transparent" Height="50" Padding="2"> |
||||
<Border BorderBrush="DarkGoldenrod" BorderThickness="1" CornerRadius="10" Padding="5" > |
||||
<Image Source="pack://Application:,,,/Resource/Images/UserControl/biaochi2@3x.png" ></Image> |
||||
</Border> |
||||
</Button> |
||||
</Grid> |
||||
<Border Grid.Row="1" x:Name="MainBorder"> |
||||
<Border.ContextMenu> |
||||
<!-- <sys:String x:Key="ViewportRightMenuFront">正面视角</sys:String> --> |
||||
<!-- <sys:String x:Key="ViewportRightMenuSaveViewToPNG">截图当前视角到PNG</sys:String> --> |
||||
<!-- <sys:String x:Key="ViewportRightMenuShowModelFace">显示模型面</sys:String> --> |
||||
<!-- <sys:String x:Key="ViewportRightMenuShowModelFrame">显示模型边框</sys:String> --> |
||||
<!-- <sys:String x:Key="ViewportRightMenuShowLighting">显示光照</sys:String> --> |
||||
<!-- <sys:String x:Key="ViewportRightMenuSelectFace">双击选择面</sys:String> --> |
||||
<!-- <sys:String x:Key="ViewportRightMenuSelectFaceFrame">显示选择面的边框</sys:String> --> |
||||
<!-- <sys:String x:Key="ViewportRightMenuSelectFaceLengthText">显示选择面边框长度文本</sys:String> --> |
||||
<!-- <sys:String x:Key="ViewportRightMenuSelectFaceAngleText">显示选择面夹角角度文本</sys:String> --> |
||||
<!-- <sys:String x:Key="ViewportRightMenuSelectFaceKind">显示选择面的同类面</sys:String> --> |
||||
<!-- <sys:String x:Key="ViewportRightMenuShowDefectFace">显示瑕疵面</sys:String> --> |
||||
<!-- <sys:String x:Key="ViewportRightMenuShowFront">显示正方向标识</sys:String> --> |
||||
<ContextMenu> |
||||
<!-- 菜单 --> |
||||
<MenuItem Header="{StaticResource ViewportRightMenuFront}" Click="MenuItem_OnClick"/> |
||||
<MenuItem Header="{StaticResource ViewportRightMenuSaveViewToPNG}" Click="MenuItem_OnClick"/> |
||||
<!-- 选择 --> |
||||
<MenuItem Header="{StaticResource ViewportRightMenuShowModelFace}" IsCheckable="True" Checked="MenuItem_OnChecked" Unchecked="MenuItem_OnUnchecked"/> |
||||
<MenuItem Header="{StaticResource ViewportRightMenuShowModelFrame}" IsCheckable="True" Checked="MenuItem_OnChecked" Unchecked="MenuItem_OnUnchecked"/> |
||||
<MenuItem Header="{StaticResource ViewportRightMenuShowLighting}" IsCheckable="True" Checked="MenuItem_OnChecked" Unchecked="MenuItem_OnUnchecked"/> |
||||
<MenuItem Header="{StaticResource ViewportRightMenuShowDefectFace}" IsCheckable="True" Checked="MenuItem_OnChecked" Unchecked="MenuItem_OnUnchecked"/> |
||||
<MenuItem Header="{StaticResource ViewportRightMenuShowFront}" IsCheckable="True" Checked="MenuItem_OnChecked" Unchecked="MenuItem_OnUnchecked"/> |
||||
<Separator /> |
||||
<MenuItem Header="{StaticResource ViewportRightMenuSelectFace}" IsCheckable="True" Checked="MenuItem_OnChecked" Unchecked="MenuItem_OnUnchecked"/> |
||||
<MenuItem Header="{StaticResource ViewportRightMenuSelectFaceFrame}" IsCheckable="True" Checked="MenuItem_OnChecked" Unchecked="MenuItem_OnUnchecked"/> |
||||
<MenuItem Header="{StaticResource ViewportRightMenuSelectFaceLengthText}" IsCheckable="True" Checked="MenuItem_OnChecked" Unchecked="MenuItem_OnUnchecked"/> |
||||
<MenuItem Header="{StaticResource ViewportRightMenuSelectFaceAngleText}" IsCheckable="True" Checked="MenuItem_OnChecked" Unchecked="MenuItem_OnUnchecked"/> |
||||
<MenuItem Header="{StaticResource ViewportRightMenuSelectFaceKind}" IsCheckable="True" Checked="MenuItem_OnChecked" Unchecked="MenuItem_OnUnchecked"/> |
||||
</ContextMenu> |
||||
</Border.ContextMenu> |
||||
<hx:Viewport3DX ShowCoordinateSystem="True" PreviewMouseRightButtonUp="UIElement_OnPreviewMouseRightButtonUp" PreviewMouseRightButtonDown="UIElement_OnPreviewMouseRightButtonDown"> |
||||
<hx:Viewport3DX.EffectsManager><hx:EffectsManager ></hx:EffectsManager></hx:Viewport3DX.EffectsManager> |
||||
<hx:Viewport3DX.InputBindings> |
||||
<KeyBinding Key="B" Command="hx:ViewportCommands.BackView" /> |
||||
<KeyBinding Key="F" Command="hx:ViewportCommands.FrontView" /> |
||||
<KeyBinding Key="U" Command="hx:ViewportCommands.TopView" /> |
||||
<KeyBinding Key="D" Command="hx:ViewportCommands.BottomView" /> |
||||
<KeyBinding Key="L" Command="hx:ViewportCommands.LeftView" /> |
||||
<KeyBinding Key="R" Command="hx:ViewportCommands.RightView" /> |
||||
<KeyBinding Command="hx:ViewportCommands.ZoomExtents" Gesture="Control+E" /> |
||||
<MouseBinding Command="hx:ViewportCommands.Rotate" Gesture="RightClick" /> |
||||
<MouseBinding Command="hx:ViewportCommands.Zoom" Gesture="MiddleClick" /> |
||||
<MouseBinding Command="hx:ViewportCommands.Pan" Gesture="LeftClick" /> |
||||
</hx:Viewport3DX.InputBindings> |
||||
</hx:Viewport3DX> |
||||
</Border> |
||||
<Grid Grid.Row="2" Height="100"> |
||||
<Grid Width="100"> |
||||
<Grid.ColumnDefinitions> |
||||
<ColumnDefinition Width="1*"/> |
||||
<ColumnDefinition Width="1*"/> |
||||
<ColumnDefinition Width="1*"/> |
||||
</Grid.ColumnDefinitions> |
||||
<Grid.RowDefinitions> |
||||
<RowDefinition Height="1*"/> |
||||
<RowDefinition Height="1*"/> |
||||
<RowDefinition Height="1*"/> |
||||
</Grid.RowDefinitions> |
||||
|
||||
<Button Grid.Column="1" Grid.Row="0" Padding="0" Background="Transparent" BorderBrush="Transparent" > |
||||
<Image Source="../../Resource/Images/UserControl/arrow.png" /> |
||||
</Button> |
||||
<Button Grid.Column="0" Grid.Row="1" Padding="0" Background="Transparent" BorderBrush="Transparent" > |
||||
<Image Source="../../Resource/Images/UserControl/arrow.png" RenderTransformOrigin="0.5,0.5"> |
||||
<Image.RenderTransform > |
||||
<RotateTransform Angle="-90" ></RotateTransform> |
||||
</Image.RenderTransform> |
||||
</Image> |
||||
</Button> |
||||
<Button Grid.Column="2" Grid.Row="1" Padding="0" Background="Transparent" BorderBrush="Transparent" > |
||||
<Image Source="../../Resource/Images/UserControl/arrow.png" RenderTransformOrigin="0.5,0.5"> |
||||
<Image.RenderTransform > |
||||
<RotateTransform Angle="90" ></RotateTransform> |
||||
</Image.RenderTransform> |
||||
</Image> |
||||
</Button> |
||||
<Button Grid.Column="1" Grid.Row="2" Padding="0" Background="Transparent" BorderBrush="Transparent" > |
||||
<Image Source="../../Resource/Images/UserControl/arrow.png" RenderTransformOrigin="0.5,0.5"> |
||||
<Image.RenderTransform > |
||||
<RotateTransform Angle="180" ></RotateTransform> |
||||
</Image.RenderTransform> |
||||
</Image> |
||||
</Button> |
||||
<TextBox Grid.Column="1" Grid.Row="1" Style="{StaticResource TextBoxExtend}" Padding="0" TextAlignment="Center" Text="123"> |
||||
|
||||
|
||||
</TextBox> |
||||
</Grid> |
||||
</Grid> |
||||
</Grid> |
||||
</Border> |
@ -0,0 +1,41 @@ |
||||
using System.Windows; |
||||
using System.Windows.Controls; |
||||
using System.Windows.Input; |
||||
using HandyControl.Controls; |
||||
|
||||
namespace SparkClient.Views.UserControl; |
||||
|
||||
public partial class Viewport3D |
||||
{ |
||||
public Viewport3D() |
||||
{ |
||||
InitializeComponent(); |
||||
DataContext = this; |
||||
} |
||||
|
||||
private void MenuItem_OnChecked(object sender, RoutedEventArgs e) |
||||
{ |
||||
Growl.InfoGlobal("Viewport is checked" + e.OriginalSource); |
||||
} |
||||
|
||||
private void MenuItem_OnUnchecked(object sender, RoutedEventArgs e) |
||||
{ |
||||
Growl.InfoGlobal("Viewport is Unchecked" + e.OriginalSource); |
||||
} |
||||
|
||||
private void UIElement_OnPreviewMouseRightButtonUp(object sender, MouseButtonEventArgs e) |
||||
{ |
||||
MainBorder.ContextMenu.IsOpen = true; |
||||
} |
||||
|
||||
private void UIElement_OnPreviewMouseRightButtonDown(object sender, MouseButtonEventArgs e) |
||||
{ |
||||
MainBorder.ContextMenu.IsOpen = false; |
||||
e.Handled = true; |
||||
} |
||||
|
||||
private void MenuItem_OnClick(object sender, RoutedEventArgs e) |
||||
{ |
||||
|
||||
} |
||||
} |