136 lines
7.5 KiB
XML
136 lines
7.5 KiB
XML
<UserControl x:Class="BOB.Views.ParametersManager"
|
|
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:prism="http://prismlibrary.com/"
|
|
xmlns:converters="clr-namespace:BOB.Converters"
|
|
xmlns:sys="clr-namespace:System;assembly=mscorlib"
|
|
prism:ViewModelLocator.AutoWireViewModel="True"
|
|
mc:Ignorable="d">
|
|
<UserControl.Resources>
|
|
<CollectionViewSource x:Key="VisibleParameters"
|
|
Source="{Binding Program.Parameters}"
|
|
IsLiveFilteringRequested="True">
|
|
<CollectionViewSource.LiveFilteringProperties>
|
|
<sys:String>IsVisible</sys:String>
|
|
</CollectionViewSource.LiveFilteringProperties>
|
|
</CollectionViewSource>
|
|
<converters:ParameterCategoryToStringConverter x:Key="ParameterCategoryToStringConverter" />
|
|
<converters:ParameterValueToStringConverter x:Key="ParameterValueToStringConverter" />
|
|
</UserControl.Resources>
|
|
|
|
<Grid>
|
|
<GroupBox Header="设备/参数">
|
|
<TabControl>
|
|
<!-- 参数Tab -->
|
|
<TabItem Header="参数">
|
|
<DataGrid Padding="10"
|
|
Background="Transparent"
|
|
ItemsSource="{Binding Source={StaticResource VisibleParameters}}"
|
|
AutoGenerateColumns="False"
|
|
CanUserAddRows="False"
|
|
SelectionMode="Extended"
|
|
SelectionUnit="FullRow"
|
|
SelectedItem="{Binding SelectedParameter, Mode=TwoWay}">
|
|
|
|
<DataGrid.Columns>
|
|
<DataGridTextColumn Header="类别"
|
|
Binding="{Binding Category, Converter={StaticResource ParameterCategoryToStringConverter}}"
|
|
IsReadOnly="True" />
|
|
<DataGridTextColumn Header="参数名"
|
|
Binding="{Binding Name}"
|
|
IsReadOnly="True" />
|
|
<DataGridTextColumn Header="类型"
|
|
Binding="{Binding Type}"
|
|
IsReadOnly="True" />
|
|
<DataGridTextColumn Header="值"
|
|
MinWidth="20"
|
|
Binding="{Binding Value, Converter={StaticResource ParameterValueToStringConverter}}"
|
|
IsReadOnly="True" />
|
|
</DataGrid.Columns>
|
|
|
|
<DataGrid.ContextMenu>
|
|
<ContextMenu>
|
|
<MenuItem Header="新增"
|
|
Command="{Binding ParameterAddCommand}" />
|
|
<MenuItem Header="编辑"
|
|
Command="{Binding ParameterEditCommand}" />
|
|
|
|
<MenuItem Header="删除"
|
|
Foreground="Red"
|
|
Command="{Binding ParameterDeleteCommand}"/>
|
|
</ContextMenu>
|
|
</DataGrid.ContextMenu>
|
|
|
|
</DataGrid>
|
|
</TabItem>
|
|
|
|
<!-- 设备Tab -->
|
|
<TabItem Header="设备">
|
|
<DataGrid Padding="10"
|
|
Background="Transparent"
|
|
ItemsSource="{Binding DeviceInfoModel}"
|
|
AutoGenerateColumns="False"
|
|
CanUserAddRows="False"
|
|
IsReadOnly="True"
|
|
SelectionMode="Extended"
|
|
SelectedItem="{Binding SelectedDevice, Mode=TwoWay}">
|
|
|
|
<DataGrid.Columns>
|
|
<DataGridTemplateColumn Header="设备状态">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<Ellipse Width="16"
|
|
Height="16"
|
|
StrokeThickness="1"
|
|
Stroke="DarkGray">
|
|
<Ellipse.Style>
|
|
<Style TargetType="Ellipse">
|
|
<Setter Property="Fill"
|
|
Value="Transparent" />
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding IsConnected}"
|
|
Value="True">
|
|
<Setter Property="Fill"
|
|
Value="LimeGreen" />
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding IsConnected}"
|
|
Value="False">
|
|
<Setter Property="Fill"
|
|
Value="Red" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Ellipse.Style>
|
|
</Ellipse>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
</DataGridTemplateColumn>
|
|
|
|
<DataGridTextColumn Header="设备名称"
|
|
Binding="{Binding DeviceName}" />
|
|
<DataGridTemplateColumn Header="是否启用">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<CheckBox IsChecked="{Binding IsEnabled}" IsEnabled="False" />
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
</DataGridTemplateColumn>
|
|
|
|
</DataGrid.Columns>
|
|
<DataGrid.ContextMenu>
|
|
<ContextMenu>
|
|
<!--<MenuItem Header="编辑"
|
|
Command="{Binding DeviceEditCommand}" />-->
|
|
<MenuItem Header="重新连接"
|
|
Command="{Binding ReconnnectCommand}" />
|
|
</ContextMenu>
|
|
</DataGrid.ContextMenu>
|
|
</DataGrid>
|
|
</TabItem>
|
|
</TabControl>
|
|
</GroupBox>
|
|
</Grid>
|
|
</UserControl>
|