137 lines
4.4 KiB
XML
137 lines
4.4 KiB
XML
<UserControl
|
|
x:Class="Plugin.Cowain.Driver.Views.VariableMonitorView"
|
|
xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:conv="using:Cowain.Base.Converters"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:extensions="using:Cowain.Base.Extensions"
|
|
xmlns:i="using:Avalonia.Xaml.Interactivity"
|
|
xmlns:i18n="clr-namespace:Ke.Bee.Localization.Extensions;assembly=Ke.Bee.Localization"
|
|
xmlns:ia="using:Avalonia.Xaml.Interactions.Core"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:semi="https://irihi.tech/semi"
|
|
xmlns:u="https://irihi.tech/ursa"
|
|
xmlns:vm="using:Plugin.Cowain.Driver.ViewModels"
|
|
d:DesignHeight="450"
|
|
d:DesignWidth="800"
|
|
x:DataType="vm:VariableMonitorViewModel"
|
|
mc:Ignorable="d">
|
|
<Interaction.Behaviors>
|
|
<ia:EventTriggerBehavior EventName="Loaded">
|
|
<ia:InvokeCommandAction Command="{Binding LoadedCommand}" />
|
|
</ia:EventTriggerBehavior>
|
|
</Interaction.Behaviors>
|
|
|
|
<Grid ColumnDefinitions="Auto *">
|
|
<ScrollViewer>
|
|
<StackPanel Spacing="8">
|
|
<TextBlock Text="{i18n:Localize VariableMonitorView.DataGrid.DeviceName}" />
|
|
<u:SelectionList
|
|
Name="roleMenu"
|
|
Width="150"
|
|
ItemsSource="{Binding Devices}"
|
|
SelectedItem="{Binding SelectedDevice}">
|
|
<u:SelectionList.Indicator>
|
|
<Border Background="Transparent" CornerRadius="4">
|
|
<Border
|
|
Width="4"
|
|
Margin="0,8"
|
|
HorizontalAlignment="Left"
|
|
VerticalAlignment="Stretch"
|
|
Background="{DynamicResource SemiBlue6}"
|
|
CornerRadius="4" />
|
|
</Border>
|
|
</u:SelectionList.Indicator>
|
|
<u:SelectionList.ItemTemplate>
|
|
<DataTemplate>
|
|
<Panel Height="30">
|
|
<TextBlock
|
|
Margin="8,0"
|
|
VerticalAlignment="Center"
|
|
Classes.Active="{Binding $parent[u:SelectionListItem].IsSelected, Mode=OneWay}"
|
|
Text="{Binding DeviceName}">
|
|
<TextBlock.Styles>
|
|
<Style Selector="TextBlock.Active">
|
|
<Setter Property="Foreground" Value="{DynamicResource SemiOrange6}" />
|
|
</Style>
|
|
</TextBlock.Styles>
|
|
</TextBlock>
|
|
</Panel>
|
|
</DataTemplate>
|
|
</u:SelectionList.ItemTemplate>
|
|
</u:SelectionList>
|
|
</StackPanel>
|
|
</ScrollViewer>
|
|
<Grid Grid.Column="1" RowDefinitions="* Auto ">
|
|
<DataGrid
|
|
Margin="8"
|
|
CanUserReorderColumns="True"
|
|
CanUserResizeColumns="True"
|
|
CanUserSortColumns="True"
|
|
HeadersVisibility="All"
|
|
IsReadOnly="True"
|
|
ItemsSource="{Binding SelectedDevice.Variables}">
|
|
<DataGrid.Columns>
|
|
|
|
<DataGridTextColumn
|
|
Width="100"
|
|
x:DataType="vm:VariableViewModel"
|
|
Binding="{Binding Id}"
|
|
Header="{i18n:Localize VariableMonitorView.DataGrid.Id}" />
|
|
<DataGridTextColumn
|
|
Width="100"
|
|
x:DataType="vm:VariableViewModel"
|
|
Binding="{Binding Name}"
|
|
Header="{i18n:Localize VariableMonitorView.DataGrid.Name}" />
|
|
<DataGridTextColumn
|
|
Width="100"
|
|
x:DataType="vm:VariableViewModel"
|
|
Binding="{Binding Address}"
|
|
Header="{i18n:Localize VariableMonitorView.DataGrid.Address}" />
|
|
<DataGridTextColumn
|
|
Width="100"
|
|
x:DataType="vm:VariableViewModel"
|
|
Binding="{Binding Value}"
|
|
Header="{i18n:Localize VariableMonitorView.DataGrid.Value}" />
|
|
<DataGridTextColumn
|
|
Width="100"
|
|
x:DataType="vm:VariableViewModel"
|
|
Binding="{Binding IsSuccess}"
|
|
Header="{i18n:Localize VariableMonitorView.DataGrid.IsSuccess}" />
|
|
<DataGridTextColumn
|
|
Width="100"
|
|
x:DataType="vm:VariableViewModel"
|
|
Binding="{Binding ArrayCount}"
|
|
Header="{i18n:Localize VariableMonitorView.DataGrid.ArrayCount}" />
|
|
<DataGridTextColumn
|
|
Width="100"
|
|
x:DataType="vm:VariableViewModel"
|
|
Binding="{Binding DataType}"
|
|
Header="{i18n:Localize VariableMonitorView.DataGrid.DataType}" />
|
|
<DataGridTextColumn
|
|
MinWidth="200"
|
|
x:DataType="vm:VariableViewModel"
|
|
Binding="{Binding Desc}"
|
|
Header="{i18n:Localize VariableMonitorView.DataGrid.Desc}" />
|
|
|
|
|
|
</DataGrid.Columns>
|
|
|
|
</DataGrid>
|
|
|
|
<StackPanel
|
|
Grid.Row="1"
|
|
Orientation="Horizontal"
|
|
Spacing="10">
|
|
<TextBlock Text="{i18n:Localize VariableMonitorView.Connected}" />
|
|
<TextBlock Text=":" />
|
|
<TextBlock Text="{Binding SelectedDevice.IsConnected}" />
|
|
<TextBlock Text="{i18n:Localize VariableMonitorView.ReadUseTime}" />
|
|
<TextBlock Text=":" />
|
|
<TextBlock Text="{Binding SelectedDevice.ReadUseTime}" />
|
|
<TextBlock Text="ms" />
|
|
</StackPanel>
|
|
</Grid>
|
|
</Grid>
|
|
</UserControl>
|