Files
SzmediTools/Szmedi.RvKits/InfoManager/Delivery/MetroParamManagerPage.xaml

158 lines
8.8 KiB
Plaintext
Raw Normal View History

2025-09-16 16:06:41 +08:00
<Page
x:Class="Szmedi.RvKits.InfoManager.MetroParamManagerPage"
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:i="http://schemas.microsoft.com/xaml/behaviors"
xmlns:local="clr-namespace:Szmedi.RvKits.InfoManager"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:models="clr-namespace:Szmedi.RvKits.Models"
Title="轨道交通交付标准"
d:DataContext="{d:DesignInstance Type=local:MetroParamManagerViewModel}"
d:DesignHeight="450"
d:DesignWidth="800"
Background="{DynamicResource MaterialDesign.Brush.Background}"
TextElement.Foreground="{DynamicResource MaterialDesign.Brush.Foreground}"
mc:Ignorable="d">
<Page.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/Szmedi.RvKits;component/WPFUI.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Page.Resources>
<Grid Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.4*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TreeView x:Name="ParamsTreeView" ItemsSource="{Binding Models}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectedItemChanged">
<i:InvokeCommandAction Command="{Binding TreeItemChangedCommand}" CommandParameter="{Binding ItemsSource, ElementName=ParamDataGrid}" />
</i:EventTrigger>
</i:Interaction.Triggers>
<TreeView.ItemTemplate>
<HierarchicalDataTemplate DataType="{x:Type models:TreeModel}" ItemsSource="{Binding Children}">
<StackPanel x:Name="staTree" Margin="-2,0,0,0" Orientation="Horizontal">
<Image VerticalAlignment="Center" Source="{Binding Icon}" />
<TextBlock Text="{Binding Name}" />
</StackPanel>
<HierarchicalDataTemplate.Triggers>
<DataTrigger Binding="{Binding IsChecked}" Value="true">
<Setter TargetName="staTree" Property="Background" Value="White" />
</DataTrigger>
</HierarchicalDataTemplate.Triggers>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
<DataGrid
x:Name="ParamDataGrid"
Grid.Row="0"
Grid.Column="1"
AutoGenerateColumns="False"
CanUserAddRows="False"
ItemsSource="{Binding SelectedItem.Tag, Mode=TwoWay, ElementName=ParamsTreeView}">
<DataGrid.Columns>
<!--<DataGridTemplateColumn Width="40" Header="">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox
Name="chk"
HorizontalAlignment="Center"
VerticalAlignment="Center"
IsChecked="{Binding IsChecked, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>-->
<DataGridCheckBoxColumn
Binding="{Binding IsChecked, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
CanUserSort="False"
EditingElementStyle="{StaticResource MaterialDesignDataGridCheckBoxColumnEditingStyle}"
ElementStyle="{StaticResource MaterialDesignDataGridCheckBoxColumnStyle}">
<!--<DataGridCheckBoxColumn.ElementStyle>
<Style TargetType="CheckBox" />
</DataGridCheckBoxColumn.ElementStyle>-->
<!--<DataGridCheckBoxColumn.Header>
<CheckBox>
<i:Interaction.Triggers>
<i:EventTrigger EventName="Checked">
<i:InvokeCommandAction Command="{Binding CheckAll}" CommandParameter="{Binding Items, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />
</i:EventTrigger>
<i:EventTrigger EventName="Unchecked">
<i:InvokeCommandAction Command="{Binding UnCheckAll}" CommandParameter="{Binding Items, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</CheckBox>
</DataGridCheckBoxColumn.Header>-->
</DataGridCheckBoxColumn>
<DataGridTextColumn Binding="{Binding PropertyCategory}" Header="属性类别" IsReadOnly="True" />
<DataGridTextColumn Binding="{Binding PropertyGroup}" Header="属性分组" IsReadOnly="True" />
<DataGridTextColumn Binding="{Binding FullProperty}" Header="属性名" IsReadOnly="True" />
<DataGridTextColumn Binding="{Binding InformationLevel}" Header="信息等级" IsReadOnly="True" />
<DataGridTextColumn Binding="{Binding Unit}" Header="单位" IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
<StackPanel
Grid.Row="1"
Grid.Column="0"
Grid.ColumnSpan="2"
HorizontalAlignment="Right"
Orientation="Horizontal">
<RadioButton Content="项目参数(共享参数)" IsChecked="{Binding IsSharedProjectParam}" ToolTip="共享参数作为项目参数,关联到所选族的类别,用于系统族">
<!--<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<i:InvokeCommandAction Command="{Binding TreeItemChanged}" CommandParameter="{Binding ItemsSource, ElementName=ParamDataGrid}" />
</i:EventTrigger>
</i:Interaction.Triggers>-->
</RadioButton>
<Separator Width="Auto">
<Separator.LayoutTransform>
<RotateTransform Angle="90" />
</Separator.LayoutTransform>
</Separator>
<RadioButton Content="族参数(共享参数)" IsChecked="{Binding IsSharedFamilyParam}" ToolTip="共享参数作为族参数,关联到所选族文件,用于可载入族">
<!--<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<i:InvokeCommandAction Command="{Binding TreeItemChanged}" CommandParameter="{Binding ItemsSource, ElementName=ParamDataGrid}" />
</i:EventTrigger>
</i:Interaction.Triggers>-->
</RadioButton>
<RadioButton
Margin="5"
Content="族参数"
IsChecked="{Binding IsFamilyParam}"
ToolTip="添加族参数,关联到所选族文件,用于可载入族">
<!--<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<i:InvokeCommandAction Command="{Binding TreeItemChanged}" CommandParameter="{Binding ItemsSource, ElementName=ParamDataGrid}" />
</i:EventTrigger>
</i:Interaction.Triggers>-->
</RadioButton>
<StackPanel
Grid.Row="1"
Grid.Column="1"
Margin="5"
Orientation="Horizontal">
<CheckBox Margin="5" Content="添加通用属性" IsChecked="{Binding IsAddCommonParam, UpdateSourceTrigger=PropertyChanged}" />
<StackPanel Margin="5" Orientation="Horizontal">
<Button
Margin="5"
Command="{Binding AddParametersCommand}"
CommandParameter="{Binding ItemsSource, ElementName=ParamDataGrid}"
Content="添加实例参数"
IsEnabled="{Binding CanAdd, Mode=TwoWay}"
ToolTip="请选择或框选构件,并完成选择,对构件添加参数" />
<Button Margin="5" Command="{Binding DeleteParametersCommand}" Content="清理轨交参数" />
</StackPanel>
</StackPanel>
</StackPanel>
</Grid>
</Page>