Files
WCS/Plugins/Driver/Cowain.Driver/Views/DriverSelectedDialog.axaml
2026-03-02 09:08:20 +08:00

54 lines
2.3 KiB
XML

<UserControl xmlns="https://github.com/avaloniaui"
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:u="https://irihi.tech/ursa"
xmlns:conv="using:Cowain.Base.Converters"
xmlns:vm="using:Plugin.Cowain.Driver.ViewModels"
xmlns:i18n="clr-namespace:Ke.Bee.Localization.Extensions;assembly=Ke.Bee.Localization"
xmlns:models="using:Plugin.Cowain.Driver.Models"
Width="400" Height="560"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:DataType="vm:DriverSelectedDialogViewModel"
x:Class="Plugin.Cowain.Driver.Views.DriverSelectedDialog">
<Grid RowDefinitions="* Auto" Margin="8 40 8 8">
<Border Theme="{StaticResource CardBorder}">
<TreeView Margin="0,10"
Name="tree"
ItemsSource="{Binding DeviceTypes}"
SelectedItem="{Binding Driver}">
<TreeView.Styles>
<!-- 设置 TreeViewItem 默认展开 -->
<Style Selector="TreeViewItem">
<Setter Property="IsExpanded" Value="True" />
</Style>
</TreeView.Styles>
<TreeView.DataTemplates>
<TreeDataTemplate DataType="models:DeviceTypeInfo" ItemsSource="{Binding Groups}">
<StackPanel Orientation="Horizontal" Spacing="8">
<TextBlock Text="{Binding Name}" />
</StackPanel>
</TreeDataTemplate>
<TreeDataTemplate DataType="models:DriverInfoGroup" ItemsSource="{Binding Drivers}">
<StackPanel Orientation="Horizontal" Spacing="8">
<TextBlock Text="{Binding Name}" />
</StackPanel>
</TreeDataTemplate>
<TreeDataTemplate DataType="models:DriverInfo" >
<StackPanel Orientation="Horizontal" Spacing="8" ToolTip.Tip="{Binding Desc}" >
<TextBlock Text="{Binding Name}" />
<TextBlock Text=":" />
<TextBlock Text="{Binding Desc}" />
</StackPanel>
</TreeDataTemplate>
</TreeView.DataTemplates>
</TreeView>
</Border>
<StackPanel Grid.Row="1" Orientation="Horizontal"
HorizontalAlignment="Left" Spacing="12"
Margin="8">
<TextBlock Text="{Binding Driver.Desc}" />
</StackPanel>
</Grid>
</UserControl>