mirror of
https://gitee.com/wang-yin1/wpf-visual-process-framework
synced 2026-03-03 00:00:56 +08:00
添加项目文件。
This commit is contained in:
566
VisionFrame/Views/FlowTabView.xaml
Normal file
566
VisionFrame/Views/FlowTabView.xaml
Normal file
@@ -0,0 +1,566 @@
|
||||
<UserControl x:Class="VisionFrame.Views.FlowTabView"
|
||||
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:VisionFrame.Views"
|
||||
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
|
||||
xmlns:n="clr-namespace:VisionFrame.Nodes"
|
||||
xmlns:base="clr-namespace:VisionFrame.Base.TemplateSelector;assembly=VisionFrame.Base"
|
||||
xmlns:c="clr-namespace:VisionFrame.Base.Converter;assembly=VisionFrame.Base"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="450" d:DesignWidth="1000">
|
||||
<UserControl.Resources>
|
||||
<BooleanToVisibilityConverter x:Key="b2v"/>
|
||||
<c:StringToNodeConverter x:Key="s2n"/>
|
||||
<c:SizeConverter x:Key="sc"/>
|
||||
<c:LocationConverter x:Key="lc"/>
|
||||
|
||||
<DataTemplate x:Key="folder_temp">
|
||||
<Grid Grid.Row="1" Height="30">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="100"/>
|
||||
<ColumnDefinition Width="60"/>
|
||||
<ColumnDefinition Width="60"/>
|
||||
<ColumnDefinition/>
|
||||
<ColumnDefinition Width="24"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding ArgName}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
<TextBlock Text="{Binding ArgType}" Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
<TextBlock Text="{Binding Direction}" Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
|
||||
<!--Mode=2的情况-->
|
||||
<Border Grid.Column="3" CornerRadius="3" BorderBrush="#DDD"
|
||||
BorderThickness="1" Height="24" Margin="0,0,3,0" Name="bor1">
|
||||
<TextBox Text="{Binding ArgValue,UpdateSourceTrigger=PropertyChanged}" Grid.Column="3" BorderThickness="0"
|
||||
Margin="3" VerticalAlignment="Center"/>
|
||||
</Border>
|
||||
<Button Grid.Column="4" Content="···" Margin="0,0,2,0" Height="24" FontWeight="Normal"
|
||||
Style="{x:Null}" Foreground="#333" Name="btn1"
|
||||
Command="{Binding DataContext.SelectFolderCommand,ElementName=root}"
|
||||
CommandParameter="{Binding}">
|
||||
<Button.Template>
|
||||
<ControlTemplate TargetType="Button">
|
||||
<Border Background="#EEE" CornerRadius="3" x:Name="border">
|
||||
<ContentPresenter VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
</Border>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter TargetName="border" Property="Background" Value="#DDD"/>
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</Button.Template>
|
||||
</Button>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate x:Key="dropdown_temp">
|
||||
<Grid Grid.Row="1" Height="30">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="100"/>
|
||||
<ColumnDefinition Width="60"/>
|
||||
<ColumnDefinition Width="60"/>
|
||||
<ColumnDefinition/>
|
||||
<ColumnDefinition Width="24"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding ArgName}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
<TextBlock Text="{Binding ArgType}" Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
<TextBlock Text="{Binding Direction}" Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
|
||||
<!--Mode=0-->
|
||||
<Border Grid.Column="3" CornerRadius="3" BorderBrush="#DDD"
|
||||
BorderThickness="1" Height="26" Margin="0,0,3,0" Name="bor3">
|
||||
<ComboBox Grid.Column="3" Height="24" VerticalContentAlignment="Center"
|
||||
BorderThickness="0" Background="Transparent"
|
||||
SelectedIndex="-1"
|
||||
SelectedValue="{Binding ArgValue}"
|
||||
Text="{Binding ArgValue}"
|
||||
ItemsSource="{Binding DataContext.ArgumentList,ElementName=root}"
|
||||
DisplayMemberPath="ArgName"
|
||||
SelectedValuePath="ArgName"/>
|
||||
</Border>
|
||||
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate x:Key="textbox_temp">
|
||||
<Grid Grid.Row="1" Height="30">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="100"/>
|
||||
<ColumnDefinition Width="60"/>
|
||||
<ColumnDefinition Width="60"/>
|
||||
<ColumnDefinition/>
|
||||
<ColumnDefinition Width="24"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding ArgName}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
<TextBlock Text="{Binding ArgType}" Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
<TextBlock Text="{Binding Direction}" Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
|
||||
<!--Mode=1的情况-->
|
||||
<Border Grid.Column="3" CornerRadius="3" BorderBrush="#DDD"
|
||||
BorderThickness="1" Height="24" Margin="0,0,3,0" Name="bor2">
|
||||
<TextBox Text="{Binding ArgValue,UpdateSourceTrigger=PropertyChanged}" Grid.Column="3" BorderThickness="0"
|
||||
Margin="3" VerticalAlignment="Center"/>
|
||||
</Border>
|
||||
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate x:Key="compare_temp">
|
||||
<Grid Grid.Row="1" Height="30">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="100"/>
|
||||
<ColumnDefinition Width="60"/>
|
||||
<ColumnDefinition Width="60"/>
|
||||
<ColumnDefinition/>
|
||||
<ColumnDefinition Width="24"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding ArgName}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
<TextBlock Text="{Binding ArgType}" Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
<TextBlock Text="{Binding Direction}" Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
|
||||
<!--Mode=3-->
|
||||
<Border Grid.Column="3" CornerRadius="3" BorderBrush="#DDD"
|
||||
BorderThickness="1" Height="26" Margin="0,0,3,0" Name="bor3">
|
||||
<ComboBox Grid.Column="3" Height="24" VerticalContentAlignment="Center"
|
||||
BorderThickness="0" Background="Transparent"
|
||||
SelectedItem="{Binding ArgValue}"
|
||||
Text="{Binding ArgValue}"
|
||||
ItemsSource="{Binding DataContext.Operator,ElementName=root}"/>
|
||||
</Border>
|
||||
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</UserControl.Resources>
|
||||
<Grid Name="root" ClipToBounds="True">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition/>
|
||||
<ColumnDefinition Width="360"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<!--网格背景-->
|
||||
<Border Name="border_flow_back" ClipToBounds="True">
|
||||
<Border.Background>
|
||||
<VisualBrush TileMode="Tile" ViewportUnits="Absolute" Viewport="0,0,14,14">
|
||||
<VisualBrush.Visual>
|
||||
<Border Width="14" Height="14"
|
||||
Background="#9FFF"
|
||||
BorderBrush="#EEE"
|
||||
BorderThickness="0,0,1,1"/>
|
||||
</VisualBrush.Visual>
|
||||
</VisualBrush>
|
||||
</Border.Background>
|
||||
|
||||
<Canvas>
|
||||
<!--画布部分-->
|
||||
<Grid Width="{Binding ElementName=border_flow_back,Path=ActualWidth,Converter={StaticResource sc},ConverterParameter=2}"
|
||||
Height="{Binding ElementName=border_flow_back,Path=ActualHeight,Converter={StaticResource sc},ConverterParameter=2}"
|
||||
Name="flow_canvas" RenderTransformOrigin="0.5,0.5"
|
||||
Background="Transparent"
|
||||
Tag="{Binding ElementName=hwakeye_border}">
|
||||
<Grid.Margin>
|
||||
<MultiBinding Converter="{StaticResource lc}">
|
||||
<Binding ElementName="border_flow_back" Path="ActualWidth"/>
|
||||
<Binding ElementName="border_flow_back" Path="ActualHeight"/>
|
||||
</MultiBinding>
|
||||
</Grid.Margin>
|
||||
<Grid.RenderTransform>
|
||||
<TransformGroup>
|
||||
<ScaleTransform ScaleX="{Binding MainZoom}"
|
||||
ScaleY="{Binding MainZoom}"/>
|
||||
<TranslateTransform X="{Binding DragX}"
|
||||
Y="{Binding DragY}"/>
|
||||
</TransformGroup>
|
||||
</Grid.RenderTransform>
|
||||
<i:Interaction.Triggers>
|
||||
<i:EventTrigger EventName="MouseWheel">
|
||||
<i:CallMethodAction TargetObject="{Binding}"
|
||||
MethodName="DoMainZoom"/>
|
||||
</i:EventTrigger>
|
||||
<i:EventTrigger EventName="MouseRightButtonDown">
|
||||
<i:InvokeCommandAction Command="{Binding CanvasMouseDownCommand}"
|
||||
PassEventArgsToCommand="True"/>
|
||||
</i:EventTrigger>
|
||||
<i:EventTrigger EventName="PreviewMouseMove">
|
||||
<!--<i:InvokeCommandAction Command="{Binding CanvasMouseMoveCommand}"
|
||||
PassEventArgsToCommand="True"/>-->
|
||||
<i:CallMethodAction TargetObject="{Binding}"
|
||||
MethodName="DoCanvasMouseMove"/>
|
||||
</i:EventTrigger>
|
||||
<i:EventTrigger EventName="MouseRightButtonUp">
|
||||
<i:InvokeCommandAction Command="{Binding CanvasMouseUpCommand}"
|
||||
PassEventArgsToCommand="True"/>
|
||||
</i:EventTrigger>
|
||||
</i:Interaction.Triggers>
|
||||
|
||||
<!--动态生成的节点-->
|
||||
<ItemsControl ItemsSource="{Binding NodeList}"
|
||||
Background="Transparent"
|
||||
AllowDrop="True">
|
||||
<i:Interaction.Triggers>
|
||||
<i:EventTrigger EventName="Drop">
|
||||
<i:InvokeCommandAction Command="{Binding DragDropCommand}"
|
||||
PassEventArgsToCommand="True"/>
|
||||
</i:EventTrigger>
|
||||
<i:EventTrigger EventName="MouseLeftButtonDown">
|
||||
<i:InvokeCommandAction Command="{Binding NodeMouseDownCommand}"
|
||||
PassEventArgsToCommand="True"/>
|
||||
</i:EventTrigger>
|
||||
<i:EventTrigger EventName="MouseMove">
|
||||
<i:InvokeCommandAction Command="{Binding NodeMouseMoveCommand}"
|
||||
PassEventArgsToCommand="True"/>
|
||||
</i:EventTrigger>
|
||||
<i:EventTrigger EventName="MouseLeftButtonUp">
|
||||
<i:InvokeCommandAction Command="{Binding NodeMouseUpCommand}"/>
|
||||
</i:EventTrigger>
|
||||
</i:Interaction.Triggers>
|
||||
<ItemsControl.ItemContainerStyle>
|
||||
<Style TargetType="ContentPresenter">
|
||||
<Setter Property="Canvas.Left" Value="{Binding X}"/>
|
||||
<Setter Property="Canvas.Top" Value="{Binding Y}"/>
|
||||
</Style>
|
||||
</ItemsControl.ItemContainerStyle>
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<Canvas/>
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<ContentControl Content="{Binding TargetNodeObject,Converter={StaticResource s2n}}"
|
||||
Width="{Binding W}"
|
||||
Height="{Binding H}">
|
||||
<i:Interaction.Triggers>
|
||||
<i:EventTrigger EventName="MouseLeftButtonDown">
|
||||
<i:InvokeCommandAction
|
||||
Command="{Binding DataContext.NodeMouseDownCommand,
|
||||
RelativeSource={RelativeSource AncestorType=UserControl}}"
|
||||
PassEventArgsToCommand="True"/>
|
||||
</i:EventTrigger>
|
||||
</i:Interaction.Triggers>
|
||||
</ContentControl>
|
||||
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ItemsControl>
|
||||
<!--生成连线的集合控件-->
|
||||
<ItemsControl ItemsSource="{Binding LinkList}">
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<Canvas/>
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<!--<Line X1="{Binding StartX}" Y1="{Binding StartY}"
|
||||
X2="{Binding EndX}" Y2="{Binding EndY}"
|
||||
Stroke="Orange"
|
||||
StrokeThickness="2"/>-->
|
||||
<n:LineNode X1="{Binding StartX}" Y1="{Binding StartY}"
|
||||
X2="{Binding EndX}" Y2="{Binding EndY}"
|
||||
StartAnchor="{Binding StartAnchor}"
|
||||
EndAnchor="{Binding EndAnchor}"/>
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ItemsControl>
|
||||
|
||||
|
||||
<!--节点参数区域-->
|
||||
<Canvas Visibility="{Binding CurrentNodeModel.IsShowProperties,Converter={StaticResource b2v}}">
|
||||
<Border Width="400" Height="auto"
|
||||
Background="{x:Null}"
|
||||
Canvas.Top="{Binding CurrentNodeModel.Y}"
|
||||
Canvas.Left="{Binding CurrentNodeModel.X}">
|
||||
<Border Background="White" Margin="0,40,0,0" CornerRadius="5">
|
||||
<Border.Effect>
|
||||
<DropShadowEffect Color="Gray" BlurRadius="5" ShadowDepth="0" Opacity="0.3"/>
|
||||
</Border.Effect>
|
||||
<Grid Margin="0,0,0,5">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="auto"/>
|
||||
<RowDefinition/>
|
||||
</Grid.RowDefinitions>
|
||||
<Border Background="#1000" CornerRadius="5,5,0,0"/>
|
||||
<Grid Height="26" TextBlock.Foreground="#888">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="100"/>
|
||||
<ColumnDefinition Width="60"/>
|
||||
<ColumnDefinition Width="60"/>
|
||||
<ColumnDefinition/>
|
||||
<ColumnDefinition Width="20"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="参数名称" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
<TextBlock Text="数据类型" Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
<TextBlock Text="传递方向" Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
<TextBlock Text="目标值" Grid.Column="3" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
</Grid>
|
||||
|
||||
<ItemsControl ItemsSource="{Binding CurrentNodeModel.Arguments}"
|
||||
Grid.Row="1">
|
||||
<ItemsControl.ItemTemplateSelector>
|
||||
<base:NodeArgTemplateSelector
|
||||
DropdownTempalte="{StaticResource dropdown_temp}"
|
||||
TextBoxTempalte="{StaticResource textbox_temp}"
|
||||
SelectFolderTempalte="{StaticResource folder_temp}"
|
||||
CompareOpratorTempalte="{StaticResource compare_temp}"
|
||||
/>
|
||||
</ItemsControl.ItemTemplateSelector>
|
||||
</ItemsControl>
|
||||
|
||||
</Grid>
|
||||
|
||||
</Border>
|
||||
</Border>
|
||||
</Canvas>
|
||||
|
||||
</Grid>
|
||||
|
||||
<!--鹰眼视图-->
|
||||
<Border Width="{Binding ElementName=border_flow_back,Path=ActualWidth,Converter={StaticResource sc},ConverterParameter=0.2}"
|
||||
Height="{Binding ElementName=border_flow_back,Path=ActualHeight,Converter={StaticResource sc},ConverterParameter=0.2}"
|
||||
Canvas.Bottom="10" Canvas.Right="10" BorderBrush="#DDD" BorderThickness="1"
|
||||
Background="#F7F9FA"
|
||||
Name="hwakeye_border"
|
||||
Tag="{Binding ElementName=flow_canvas}">
|
||||
<i:Interaction.Triggers>
|
||||
<i:EventTrigger EventName="MouseMove">
|
||||
<i:CallMethodAction TargetObject="{Binding}"
|
||||
MethodName="HwakeyeMouseMove"/>
|
||||
</i:EventTrigger>
|
||||
<i:EventTrigger EventName="MouseLeftButtonUp">
|
||||
<i:CallMethodAction TargetObject="{Binding}"
|
||||
MethodName="HwakeyeMouseUp"/>
|
||||
</i:EventTrigger>
|
||||
</i:Interaction.Triggers>
|
||||
<Border>
|
||||
<Border.Background>
|
||||
<BitmapCacheBrush Target="{Binding ElementName=flow_canvas}"/>
|
||||
</Border.Background>
|
||||
<Border BorderBrush="ForestGreen" BorderThickness="1"
|
||||
Width="{Binding ElementName=hwakeye_border,Path=Width,Converter={StaticResource sc},ConverterParameter=0.5}"
|
||||
Height="{Binding ElementName=hwakeye_border,Path=Height,Converter={StaticResource sc},ConverterParameter=0.5}"
|
||||
Background="#8FFF"
|
||||
RenderTransformOrigin="0.5,0.5">
|
||||
<Border.RenderTransform>
|
||||
<TransformGroup>
|
||||
<TranslateTransform X="{Binding HwakeyeDragX}" Y="{Binding HwakeyeDragY}"/>
|
||||
<ScaleTransform ScaleX="{Binding HwakeyeZoom}" ScaleY="{Binding HwakeyeZoom}"/>
|
||||
</TransformGroup>
|
||||
</Border.RenderTransform>
|
||||
|
||||
<i:Interaction.Triggers>
|
||||
<i:EventTrigger EventName="MouseLeftButtonDown">
|
||||
<i:CallMethodAction TargetObject="{Binding}"
|
||||
MethodName="HwakeyeViewMouseDown"/>
|
||||
</i:EventTrigger>
|
||||
</i:Interaction.Triggers>
|
||||
</Border>
|
||||
</Border>
|
||||
</Border>
|
||||
</Canvas>
|
||||
</Border>
|
||||
|
||||
|
||||
<!--工具-->
|
||||
<Border VerticalAlignment="Top" HorizontalAlignment="Left"
|
||||
Height="26" CornerRadius="13" Background="#2000"
|
||||
Margin="10">
|
||||
<Grid Margin="8,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="30"/>
|
||||
<ColumnDefinition Width="30"/>
|
||||
<ColumnDefinition Width="30"/>
|
||||
<ColumnDefinition Width="30"/>
|
||||
<ColumnDefinition Width="auto"/>
|
||||
<ColumnDefinition Width="30"/>
|
||||
<ColumnDefinition Width="30"/>
|
||||
<ColumnDefinition Width="30"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Button Content="" FontFamily="{StaticResource Iconfont}"
|
||||
Style="{StaticResource ToolButtonStyle}"
|
||||
Command="{Binding RunCommand}"/>
|
||||
<Button Content="" FontFamily="{StaticResource Iconfont}"
|
||||
Style="{StaticResource ToolButtonStyle}" Grid.Column="1" FontSize="18"
|
||||
Command="{Binding CircleCommand}"/>
|
||||
<Button Content="" FontFamily="{StaticResource Iconfont}"
|
||||
Style="{StaticResource ToolButtonStyle}" Grid.Column="2"
|
||||
Command="{Binding StepCommand}"/>
|
||||
<Button Content="" FontFamily="{StaticResource Iconfont}"
|
||||
Style="{StaticResource ToolButtonStyle}" Grid.Column="3"
|
||||
Command="{Binding StopCommand}"/>
|
||||
<Border Background="#EEE" Grid.Column="4" Width="1"
|
||||
Margin="3,5"/>
|
||||
<Button Content="" FontFamily="{StaticResource Iconfont}"
|
||||
Style="{StaticResource ToolButtonStyle}" Grid.Column="5" FontSize="18"
|
||||
Command="{Binding ZoomIncreaseCommand}"
|
||||
CommandParameter="{Binding ElementName=flow_canvas}"/>
|
||||
<Button Content="" FontFamily="{StaticResource Iconfont}"
|
||||
Style="{StaticResource ToolButtonStyle}" Grid.Column="6" FontSize="18"
|
||||
Command="{Binding ZoomReduceCommand}"
|
||||
CommandParameter="{Binding ElementName=flow_canvas}"/>
|
||||
<Button Content="" FontFamily="{StaticResource Iconfont}"
|
||||
Style="{StaticResource ToolButtonStyle}" Grid.Column="7" FontSize="18"
|
||||
Command="{Binding ZoomResetCommand}"
|
||||
CommandParameter="{Binding ElementName=flow_canvas}"/>
|
||||
</Grid>
|
||||
</Border>
|
||||
|
||||
|
||||
<!--图像显示、参数、日志-->
|
||||
<Grid Grid.Column="1" Margin="3,0,0,0">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="auto"/>
|
||||
<RowDefinition/>
|
||||
</Grid.RowDefinitions>
|
||||
<!--图像显示-->
|
||||
<Border Grid.Column="1" Height="220">
|
||||
<Border.Background>
|
||||
<VisualBrush Viewport="0,0,16,16" ViewportUnits="Absolute" TileMode="Tile">
|
||||
<VisualBrush.Visual>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition/>
|
||||
<RowDefinition/>
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition/>
|
||||
<ColumnDefinition/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Border Background="#8C8C8C" Width="1" Height="1"/>
|
||||
<Border Background="#767676" Width="1" Height="1" Grid.Column="1"/>
|
||||
<Border Background="#767676" Width="1" Height="1" Grid.Row="1"/>
|
||||
<Border Background="#8C8C8C" Width="1" Height="1" Grid.Row="1" Grid.Column="1"/>
|
||||
</Grid>
|
||||
</VisualBrush.Visual>
|
||||
</VisualBrush>
|
||||
</Border.Background>
|
||||
<Image Stretch="UniformToFill" Source="{Binding PreviewImage}"/>
|
||||
</Border>
|
||||
<Border Height="26" CornerRadius="13" Background="#656565" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="5">
|
||||
<Grid Margin="8,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="30"/>
|
||||
<ColumnDefinition Width="30"/>
|
||||
<ColumnDefinition Width="30"/>
|
||||
<ColumnDefinition Width="30"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Button Content="" FontFamily="{StaticResource Iconfont}"
|
||||
Style="{StaticResource ToolButtonStyle}" Grid.Column="0" FontSize="18" Foreground="#5FFF"/>
|
||||
<Button Content="" FontFamily="{StaticResource Iconfont}"
|
||||
Style="{StaticResource ToolButtonStyle}" Grid.Column="1" FontSize="18" Foreground="#5FFF"/>
|
||||
<Button Content="" FontFamily="{StaticResource Iconfont}"
|
||||
Style="{StaticResource ToolButtonStyle}" Grid.Column="2" FontSize="18" Foreground="#5FFF"/>
|
||||
<Button Content="" FontFamily="{StaticResource Iconfont}"
|
||||
Style="{StaticResource ToolButtonStyle}" Grid.Column="3" FontSize="16" Foreground="#5FFF"/>
|
||||
</Grid>
|
||||
</Border>
|
||||
|
||||
|
||||
<!--参数与日志-->
|
||||
<TabControl Grid.Row="1" Margin="0,5,0,0"
|
||||
BorderThickness="0,1,0,0" BorderBrush="#1f71e5"
|
||||
Background="#5FFF" Padding="0">
|
||||
<TabItem Style="{StaticResource NormalTabStyle}">
|
||||
<TabItem.Header>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="" FontFamily="{StaticResource Iconfont}"
|
||||
FontSize="16" VerticalAlignment="Center" Margin="0,0,3,0"/>
|
||||
<TextBlock Text="流程参数管理" VerticalAlignment="Center"/>
|
||||
</StackPanel>
|
||||
</TabItem.Header>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition />
|
||||
<RowDefinition Height="auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<ListBox Background="Transparent" BorderThickness="0"
|
||||
ItemsSource="{Binding ArgumentList}">
|
||||
<ListBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<Grid Height="30">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="120"/>
|
||||
<ColumnDefinition/>
|
||||
<ColumnDefinition Width="30"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<Border Margin="3,3,1,3" CornerRadius="3" Background="#FFF">
|
||||
<TextBox Text="{Binding ArgName,UpdateSourceTrigger=PropertyChanged}"
|
||||
VerticalContentAlignment="Center"
|
||||
BorderThickness="0"
|
||||
Background="Transparent"
|
||||
Margin="2" FontWeight="Normal"
|
||||
Foreground="#555"/>
|
||||
</Border>
|
||||
|
||||
<ComboBox Grid.Column="1" SelectedItem="{Binding ArgType}"
|
||||
Margin="1,3" BorderThickness="0"
|
||||
ItemsSource="{Binding DataContext.ArgTypeList,RelativeSource={RelativeSource AncestorType=UserControl}}">
|
||||
|
||||
</ComboBox>
|
||||
|
||||
<Button Content="" FontFamily="{StaticResource Iconfont}"
|
||||
Grid.Column="2" Style="{StaticResource DeleteElementButtonStyle}"
|
||||
FontSize="10" Width="22" Height="22"
|
||||
Margin="0" Background="Transparent"
|
||||
Command="{Binding DataContext.DelArgumentCommand,RelativeSource={RelativeSource AncestorType=UserControl}}"
|
||||
CommandParameter="{Binding}"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</ListBox.ItemTemplate>
|
||||
<ListBox.ItemContainerStyle>
|
||||
<Style TargetType="ListBoxItem">
|
||||
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="ListBoxItem">
|
||||
<Border Margin="3,1" CornerRadius="5" Background="#09000000">
|
||||
<ContentPresenter/>
|
||||
</Border>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</ListBox.ItemContainerStyle>
|
||||
</ListBox>
|
||||
|
||||
<Border Height="1" Background="#DDD" VerticalAlignment="Top"
|
||||
Grid.Row="1" Margin="5,0"/>
|
||||
<Button Grid.Row="1" Height="30" Content="添加参数" Width="120"
|
||||
HorizontalAlignment="Right"
|
||||
Margin="5" Command="{Binding AddArgumentCommand}"/>
|
||||
</Grid>
|
||||
|
||||
</TabItem>
|
||||
|
||||
<TabItem Style="{StaticResource NormalTabStyle}">
|
||||
<TabItem.Header>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="" FontFamily="{StaticResource Iconfont}"
|
||||
FontSize="16" VerticalAlignment="Center" Margin="0,0,3,0"/>
|
||||
<TextBlock Text="运行日志" VerticalAlignment="Center"/>
|
||||
</StackPanel>
|
||||
</TabItem.Header>
|
||||
|
||||
<ItemsControl ItemsSource="{Binding LogList}">
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<Grid Height="28" Margin="3,1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="50"/>
|
||||
<ColumnDefinition Width="80"/>
|
||||
<ColumnDefinition/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding Time ,StringFormat=HH:mm:ss}"
|
||||
VerticalAlignment="Center" HorizontalAlignment="Center"
|
||||
Foreground="#888"/>
|
||||
<TextBlock Text="{Binding NodeName}" Foreground="#333"
|
||||
Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
||||
<TextBlock Text="{Binding LogMessage}" Grid.Column="2" Foreground="#333"
|
||||
VerticalAlignment="Center"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ItemsControl>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
35
VisionFrame/Views/FlowTabView.xaml.cs
Normal file
35
VisionFrame/Views/FlowTabView.xaml.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace VisionFrame.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// FlowTabView.xaml 的交互逻辑
|
||||
/// </summary>
|
||||
public partial class FlowTabView : UserControl
|
||||
{
|
||||
public FlowTabView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void Button_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
//var temp = this.gggg;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
264
VisionFrame/Views/MainView.xaml
Normal file
264
VisionFrame/Views/MainView.xaml
Normal file
@@ -0,0 +1,264 @@
|
||||
<Window x:Class="VisionFrame.Views.MainView"
|
||||
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:VisionFrame.Views"
|
||||
mc:Ignorable="d" Name="win"
|
||||
WindowStartupLocation="CenterScreen"
|
||||
FontWeight="ExtraLight"
|
||||
FontSize="12"
|
||||
Title="朝夕运动视觉框架" Height="750" Width="1300">
|
||||
<WindowChrome.WindowChrome>
|
||||
<WindowChrome NonClientFrameEdges="None" UseAeroCaptionButtons="False"/>
|
||||
</WindowChrome.WindowChrome>
|
||||
<Window.Background>
|
||||
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
|
||||
<GradientStop Color="#DCEAFC" Offset="0"/>
|
||||
<GradientStop Color="#FFFFFF" Offset="0.5"/>
|
||||
<GradientStop Color="#DCEAFC" Offset="1"/>
|
||||
</LinearGradientBrush>
|
||||
</Window.Background>
|
||||
<Window.Resources>
|
||||
|
||||
<ControlTemplate TargetType="RadioButton" x:Key="CatalogButtonTemp">
|
||||
<Grid>
|
||||
<Border Background="Transparent"
|
||||
Height="40" Margin="0,2"
|
||||
Name="border">
|
||||
<TextBlock Text="{Binding Icon}"
|
||||
FontFamily="{StaticResource Iconfont}"
|
||||
FontSize="22" Foreground="White"
|
||||
VerticalAlignment="Center"
|
||||
HorizontalAlignment="Center"/>
|
||||
</Border>
|
||||
<Canvas Name="canvas" Visibility="Collapsed" Background="Transparent"
|
||||
Width="60">
|
||||
<Polygon Points="5 0 0 4 5 8"
|
||||
Fill="#DD1f71e5"
|
||||
Canvas.Left="50"
|
||||
Canvas.Top="10"/>
|
||||
<Border MaxWidth="200" Height="60" Canvas.Left="55"
|
||||
Background="#DD1f71e5" CornerRadius="5"
|
||||
TextBlock.Foreground="White">
|
||||
<StackPanel Margin="10,0" VerticalAlignment="Center">
|
||||
<TextBlock Text="{Binding Name}" FontWeight="Bold" Margin="0,0,0,5"/>
|
||||
<Border Height="1" Background="#3FFF"/>
|
||||
<TextBlock Text="{Binding Description}"
|
||||
Foreground="#9FFF"
|
||||
TextTrimming="CharacterEllipsis" Margin="0,5,0,0"/>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
</Canvas>
|
||||
</Grid>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter TargetName="border" Property="Background" Value="#2FFF"/>
|
||||
<!--<Setter TargetName="canvas" Property="Visibility" Value="Visible"/>-->
|
||||
<Trigger.EnterActions>
|
||||
<BeginStoryboard>
|
||||
<Storyboard>
|
||||
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="canvas"
|
||||
Storyboard.TargetProperty="Visibility">
|
||||
<DiscreteObjectKeyFrame KeyTime="0:0:0">
|
||||
<DiscreteObjectKeyFrame.Value>
|
||||
<Visibility>Collapsed</Visibility>
|
||||
</DiscreteObjectKeyFrame.Value>
|
||||
</DiscreteObjectKeyFrame>
|
||||
<DiscreteObjectKeyFrame KeyTime="0:0:0.500">
|
||||
<DiscreteObjectKeyFrame.Value>
|
||||
<Visibility>Visible</Visibility>
|
||||
</DiscreteObjectKeyFrame.Value>
|
||||
</DiscreteObjectKeyFrame>
|
||||
|
||||
</ObjectAnimationUsingKeyFrames>
|
||||
</Storyboard>
|
||||
</BeginStoryboard>
|
||||
</Trigger.EnterActions>
|
||||
<Trigger.ExitActions>
|
||||
<BeginStoryboard>
|
||||
<Storyboard>
|
||||
<ObjectAnimationUsingKeyFrames
|
||||
Storyboard.TargetName="canvas" Storyboard.TargetProperty="Visibility">
|
||||
<DiscreteObjectKeyFrame KeyTime="0:0:0">
|
||||
<DiscreteObjectKeyFrame.Value>
|
||||
<Visibility>Collapsed</Visibility>
|
||||
</DiscreteObjectKeyFrame.Value>
|
||||
</DiscreteObjectKeyFrame>
|
||||
</ObjectAnimationUsingKeyFrames>
|
||||
</Storyboard>
|
||||
</BeginStoryboard>
|
||||
</Trigger.ExitActions>
|
||||
</Trigger>
|
||||
<Trigger Property="IsChecked" Value="True">
|
||||
<Setter TargetName="border" Property="Background" Value="#6FFF"/>
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
|
||||
</Window.Resources>
|
||||
|
||||
<Grid ClipToBounds="True">
|
||||
<Ellipse Width="500" Height="500" Fill="{StaticResource lgb}"
|
||||
VerticalAlignment="Top" HorizontalAlignment="Left"
|
||||
Margin="200,-80,0,0" Opacity="0.6">
|
||||
</Ellipse>
|
||||
<Ellipse Width="400" Height="400" Fill="{StaticResource lgb}"
|
||||
VerticalAlignment="Top" HorizontalAlignment="Left"
|
||||
Margin="-80,-250,0,0">
|
||||
</Ellipse>
|
||||
|
||||
<!--窗口内容部分-->
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="50"/>
|
||||
<RowDefinition/>
|
||||
</Grid.RowDefinitions>
|
||||
<!--Logo+Title-->
|
||||
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center">
|
||||
<!--<Image Source="../Assets/Images/Logo_64.png" Width="30"
|
||||
Effect="{StaticResource dse}"
|
||||
Margin="10,0"/>-->
|
||||
<TextBlock FontSize="14" FontFamily="YouYuan"
|
||||
Foreground="#555" Effect="{StaticResource dse}"
|
||||
VerticalAlignment="Center">
|
||||
<Run Text=" "/>
|
||||
<Run Text=" "/>
|
||||
<Run Text="运动视觉流程控制系统"/>
|
||||
<Run Text="v1.0" FontFamily="Microsoft YaHei" FontSize="9"/>
|
||||
</TextBlock>
|
||||
</StackPanel>
|
||||
|
||||
<!--Title部分控制按钮-->
|
||||
<StackPanel Orientation="Horizontal" VerticalAlignment="Top" HorizontalAlignment="Right">
|
||||
<Button Content="" Style="{StaticResource TitleButtonStyle}"
|
||||
Command="{Binding NewFlowCommand}"/>
|
||||
<Button Content="" Style="{StaticResource TitleButtonStyle}"
|
||||
Command="{Binding OpenFlowCommand}"/>
|
||||
<Button Content="" Style="{StaticResource TitleButtonStyle}"
|
||||
Command="{Binding SaveFlowCommand}"/>
|
||||
<Button Content="" Style="{StaticResource TitleButtonStyle}"/>
|
||||
<Border Height="16" Width="1" Background="#CCC" Margin="5,0" VerticalAlignment="Center"/>
|
||||
<Button Content="" Style="{StaticResource TitleButtonStyle}"/>
|
||||
<Button Content="" Style="{StaticResource TitleButtonStyle}"/>
|
||||
<Border Height="16" Width="1" Background="#CCC" Margin="5,0"/>
|
||||
<Button Content="" Style="{StaticResource TitleButtonStyle}"/>
|
||||
<Button Content="" Style="{StaticResource TitleButtonStyle}"/>
|
||||
<Border Height="16" Width="1" Background="#CCC" Margin="5,0"/>
|
||||
<TextBlock Text="" FontFamily="{StaticResource Iconfont}" VerticalAlignment="Center"
|
||||
FontSize="18" Margin="3,0" Foreground=" #1f71e5"/>
|
||||
<TextBlock Text="<未登录>" VerticalAlignment="Center" Margin="3,0"/>
|
||||
<Border Height="16" Width="1" Background="#CCC" Margin="5,0"/>
|
||||
<Button Content="" Style="{StaticResource TitleButtonStyle}"
|
||||
FontSize="14" Margin="0"/>
|
||||
<Button Content="" Style="{StaticResource TitleButtonStyle}"
|
||||
FontSize="14" Margin="0"/>
|
||||
<Button Content="" Style="{StaticResource TitleButtonStyle}"
|
||||
FontSize="14" Margin="0,0,5,0"
|
||||
Click="Button_Click"/>
|
||||
</StackPanel>
|
||||
|
||||
<!--流程相关交互-->
|
||||
<Grid Grid.Row="1" Margin="10,0,10,10">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="45"/>
|
||||
<ColumnDefinition Width="150"/>
|
||||
<ColumnDefinition/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Border Background="#1f71e5" CornerRadius="10,0,0,10"/>
|
||||
<Border Background="#8FFF" Grid.Column="1"/>
|
||||
|
||||
<!--组件类别-->
|
||||
<ItemsControl ItemsSource="{Binding CatalogList}"
|
||||
Margin="0,8"
|
||||
Panel.ZIndex="10">
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<RadioButton GroupName="A"
|
||||
IsChecked="{Binding IsSelected}"
|
||||
Template="{StaticResource CatalogButtonTemp}"
|
||||
Command="{Binding DataContext.CatalogItemCommand,RelativeSource={RelativeSource AncestorType=Window}}"
|
||||
CommandParameter="{Binding}">
|
||||
</RadioButton>
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ItemsControl>
|
||||
|
||||
<!--组件列表-->
|
||||
<Grid Grid.Column="1">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="30"/>
|
||||
<RowDefinition/>
|
||||
</Grid.RowDefinitions>
|
||||
<Border Height="1" Background="#1000" VerticalAlignment="Bottom"/>
|
||||
|
||||
<TextBlock Text="{Binding CurrentCatalog.Name}"
|
||||
VerticalAlignment="Center" Margin="5,0"
|
||||
FontWeight="Bold" Foreground="#666"/>
|
||||
|
||||
<ItemsControl ItemsSource="{Binding CurrentCatalog.Components}"
|
||||
Grid.Row="1" VerticalAlignment="Top">
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<UniformGrid Columns="2"/>
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<Border Background="Transparent"
|
||||
Width="55" VerticalAlignment="Center"
|
||||
HorizontalAlignment="Center"
|
||||
CornerRadius="5"
|
||||
Margin="0,5"
|
||||
Name="border">
|
||||
<Border.InputBindings>
|
||||
<MouseBinding MouseAction="LeftClick"
|
||||
Command="{Binding DataContext.ComponentItemCommand,ElementName=win}"
|
||||
CommandParameter="{Binding ElementName=border}"/>
|
||||
</Border.InputBindings>
|
||||
<StackPanel Margin="0,5">
|
||||
<TextBlock Text="{Binding Icon}"
|
||||
FontFamily="{StaticResource Iconfont}"
|
||||
FontSize="30"
|
||||
Foreground="#771f71e5"
|
||||
HorizontalAlignment="Center"/>
|
||||
<TextBlock Text="{Binding Name}"
|
||||
FontSize="10"
|
||||
HorizontalAlignment="Center"
|
||||
Foreground="#C000"/>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<DataTemplate.Triggers>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter TargetName="border" Property="Background" Value="#1000"/>
|
||||
</Trigger>
|
||||
</DataTemplate.Triggers>
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ItemsControl>
|
||||
</Grid>
|
||||
|
||||
<!--流程页-->
|
||||
<TabControl Style="{DynamicResource TabControlStyle}" Grid.Column="2"
|
||||
Margin="3,0,0,0" BorderThickness="0,1,0,0"
|
||||
BorderBrush="#1f71e5"
|
||||
Background="Transparent"
|
||||
ItemsSource="{Binding FlowTabList}"
|
||||
SelectedIndex="0">
|
||||
<TabControl.ItemContainerStyle>
|
||||
<Style TargetType="TabItem" BasedOn="{StaticResource FlowTabStyle}">
|
||||
<Setter Property="Header" Value="{Binding Title}"/>
|
||||
<Setter Property="IsSelected" Value="{Binding IsCurrent}"/>
|
||||
</Style>
|
||||
</TabControl.ItemContainerStyle>
|
||||
<TabControl.ContentTemplate>
|
||||
<DataTemplate>
|
||||
<local:FlowTabView/>
|
||||
</DataTemplate>
|
||||
</TabControl.ContentTemplate>
|
||||
</TabControl>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Window>
|
||||
35
VisionFrame/Views/MainView.xaml.cs
Normal file
35
VisionFrame/Views/MainView.xaml.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Shapes;
|
||||
using VisionFrame.ViewModels;
|
||||
|
||||
namespace VisionFrame.Views
|
||||
{
|
||||
/// <summary>
|
||||
/// MainView.xaml 的交互逻辑
|
||||
/// </summary>
|
||||
public partial class MainView : Window
|
||||
{
|
||||
public MainView()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
this.DataContext = new MainViewModel();
|
||||
}
|
||||
|
||||
private void Button_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user