大量更新
This commit is contained in:
359
Szmedi.RvKits/MEPTools/FacilityInfoProcessView.xaml
Normal file
359
Szmedi.RvKits/MEPTools/FacilityInfoProcessView.xaml
Normal file
@@ -0,0 +1,359 @@
|
||||
<controls:MaterialWindow
|
||||
x:Class="Szmedi.RvKits.MEPTools.FacilityInfoProcessView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:controls="clr-namespace:Szmedi.RvKits.Controls"
|
||||
xmlns:conv="clr-namespace:Szmedi.RvKits.Converters"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:Szmedi.RvKits.MEPTools"
|
||||
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
Title="设备信息"
|
||||
Width="800"
|
||||
Height="450"
|
||||
d:DataContext="{d:DesignInstance Type=local:FacilityInfoProcessViewModel}"
|
||||
mc:Ignorable="d">
|
||||
<controls:MaterialWindow.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="pack://application:,,,/Szmedi.RvKits;component/WPFUI.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
<Style x:Key="CenteredTextBlockStyle" TargetType="{x:Type TextBlock}">
|
||||
<Setter Property="VerticalAlignment" Value="Center" />
|
||||
</Style>
|
||||
<conv:NullOrEmptyToBooleanConverter x:Key="NullOrEmptyToBooleanConverter" />
|
||||
</ResourceDictionary>
|
||||
|
||||
</controls:MaterialWindow.Resources>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" MinWidth="200" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="300" MinWidth="100" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<GroupBox Header="设备表">
|
||||
<DataGrid
|
||||
x:Name="Facilities"
|
||||
Margin="-4"
|
||||
d:ItemsSource="{d:SampleData ItemCount=5}"
|
||||
AutoGenerateColumns="False"
|
||||
CanUserAddRows="False"
|
||||
FrozenColumnCount="2"
|
||||
ItemsSource="{Binding Items}"
|
||||
RowDetailsVisibilityMode="VisibleWhenSelected"
|
||||
SelectedItem="{Binding SelectedFacility, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
|
||||
<DataGrid.RowStyle>
|
||||
<Style TargetType="DataGridRow">
|
||||
<Setter Property="ToolTip" Value="{Binding ErrorMessage}" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding ErrorMessage, Converter={StaticResource NullOrEmptyToBooleanConverter}}" Value="True">
|
||||
<Setter Property="Background" Value="Red" />
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</DataGrid.RowStyle>
|
||||
<DataGrid.RowDetailsTemplate>
|
||||
<DataTemplate>
|
||||
<GroupBox Header="参数列表">
|
||||
<ItemsControl ItemsSource="{Binding Parameters}">
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<StackPanel Margin="2" Orientation="Horizontal">
|
||||
<TextBlock
|
||||
Width="250"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center"
|
||||
FontWeight="Bold"
|
||||
Text="{Binding Name}" />
|
||||
<TextBox
|
||||
Padding="3"
|
||||
VerticalContentAlignment="Center"
|
||||
materialDesign:HintAssist.IsFloating="False"
|
||||
Text="{Binding Value, UpdateSourceTrigger=PropertyChanged}" />
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ItemsControl>
|
||||
</GroupBox>
|
||||
</DataTemplate>
|
||||
</DataGrid.RowDetailsTemplate>
|
||||
<DataGrid.Columns>
|
||||
|
||||
<DataGridCheckBoxColumn Binding="{Binding IsSelected}">
|
||||
<DataGridCheckBoxColumn.Header>
|
||||
<Border Background="Transparent">
|
||||
<CheckBox Content="全选" IsChecked="{Binding DataContext.IsAllItemsSelected, RelativeSource={RelativeSource AncestorType=DataGrid}}" />
|
||||
</Border>
|
||||
</DataGridCheckBoxColumn.Header>
|
||||
<DataGridCheckBoxColumn.HeaderStyle>
|
||||
<Style BasedOn="{StaticResource MaterialDesignDataGridColumnHeader}" TargetType="{x:Type DataGridColumnHeader}">
|
||||
<Setter Property="HorizontalContentAlignment" Value="Center" />
|
||||
</Style>
|
||||
</DataGridCheckBoxColumn.HeaderStyle>
|
||||
</DataGridCheckBoxColumn>
|
||||
<DataGridTextColumn
|
||||
Binding="{Binding Name}"
|
||||
ElementStyle="{StaticResource CenteredTextBlockStyle}"
|
||||
Header="设备"
|
||||
IsReadOnly="True" />
|
||||
<DataGridTextColumn
|
||||
Binding="{Binding Brand}"
|
||||
ElementStyle="{StaticResource CenteredTextBlockStyle}"
|
||||
Header="品牌"
|
||||
IsReadOnly="True" />
|
||||
<DataGridTextColumn
|
||||
Binding="{Binding Specification}"
|
||||
ElementStyle="{StaticResource CenteredTextBlockStyle}"
|
||||
Header="设备型号"
|
||||
IsReadOnly="True" />
|
||||
<DataGridTextColumn
|
||||
Binding="{Binding Stations}"
|
||||
ElementStyle="{StaticResource CenteredTextBlockStyle}"
|
||||
Header="部署范围"
|
||||
IsReadOnly="True" />
|
||||
<DataGridTemplateColumn Header="关联族">
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<Button
|
||||
Command="{Binding DataContext.SelectInstanceCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}}"
|
||||
CommandParameter="{Binding}"
|
||||
Content="{Binding DisplayText}"
|
||||
ToolTip="点击按钮重新选择关联到的族" />
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
</DataGrid.Columns>
|
||||
</DataGrid>
|
||||
</GroupBox>
|
||||
<GridSplitter
|
||||
Grid.Row="0"
|
||||
Grid.RowSpan="2"
|
||||
Grid.Column="1"
|
||||
Width="5"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch"
|
||||
Background="Gray"
|
||||
ShowsPreview="True" />
|
||||
<Grid Grid.Row="1" Grid.Column="0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<CheckBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Content="包含全线"
|
||||
IsChecked="{Binding ContainsAllLines}" />
|
||||
<TextBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="1"
|
||||
materialDesign:HintAssist.Hint="搜索设备名、品牌、型号、部署范围"
|
||||
Text="{Binding SearchText, UpdateSourceTrigger=PropertyChanged}" />
|
||||
|
||||
</Grid>
|
||||
<!--<Grid Grid.Column="2">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" MinHeight="100" />
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="200" MinHeight="100" />
|
||||
</Grid.RowDefinitions>
|
||||
<GroupBox Header="参数表">
|
||||
<DataGrid
|
||||
Margin="-4"
|
||||
AutoGenerateColumns="False"
|
||||
CanUserAddRows="False"
|
||||
ItemsSource="{Binding ElementName=Facilities, Path=SelectedItem.Parameters}">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn
|
||||
Binding="{Binding Name}"
|
||||
ElementStyle="{StaticResource CenteredTextBlockStyle}"
|
||||
Header="参数"
|
||||
IsReadOnly="True" />
|
||||
<DataGridTextColumn
|
||||
Binding="{Binding Value}"
|
||||
ElementStyle="{StaticResource CenteredTextBlockStyle}"
|
||||
Header="参数值" />
|
||||
</DataGrid.Columns>
|
||||
</DataGrid>
|
||||
</GroupBox>
|
||||
<GridSplitter
|
||||
Grid.Row="1"
|
||||
Height="5"
|
||||
HorizontalAlignment="Stretch"
|
||||
VerticalAlignment="Stretch"
|
||||
Background="Gray"
|
||||
ShowsPreview="True" />
|
||||
<GroupBox Grid.Row="2" Header="构件实例表">
|
||||
<DataGrid
|
||||
Margin="-4"
|
||||
AutoGenerateColumns="False"
|
||||
CanUserAddRows="False"
|
||||
ItemsSource="{Binding ElementName=Facilities, Path=SelectedItem.Instances}">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn
|
||||
Binding="{Binding Name}"
|
||||
ElementStyle="{StaticResource CenteredTextBlockStyle}"
|
||||
Header="实例名称"
|
||||
IsReadOnly="True" />
|
||||
<DataGridTemplateColumn Header="操作">
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<UniformGrid Rows="1">
|
||||
<Button
|
||||
Command="{Binding DataContext.LocationInstanceCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}}"
|
||||
CommandParameter="{Binding}"
|
||||
Content="定位" />
|
||||
<Button
|
||||
Command="{Binding DataContext.RemoveInstanceCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}}"
|
||||
CommandParameter="{Binding}"
|
||||
Content="移除" />
|
||||
</UniformGrid>
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
</DataGrid.Columns>
|
||||
</DataGrid>
|
||||
</GroupBox>
|
||||
</Grid>-->
|
||||
<GroupBox
|
||||
Grid.Row="0"
|
||||
Grid.Column="2"
|
||||
Header="构件实例表">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<DataGrid
|
||||
x:Name="InstancesDG"
|
||||
Margin="-4"
|
||||
d:ItemsSource="{d:SampleData ItemCount=5}"
|
||||
AutoGenerateColumns="False"
|
||||
CanUserAddRows="False"
|
||||
ItemsSource="{Binding ElementName=Facilities, Path=SelectedItem.Instances}"
|
||||
SelectionMode="Extended">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn
|
||||
Binding="{Binding Id}"
|
||||
ElementStyle="{StaticResource CenteredTextBlockStyle}"
|
||||
Header="实例名称"
|
||||
IsReadOnly="True" />
|
||||
<DataGridTextColumn
|
||||
Binding="{Binding Name}"
|
||||
ElementStyle="{StaticResource CenteredTextBlockStyle}"
|
||||
Header="实例名称"
|
||||
IsReadOnly="True" />
|
||||
<DataGridTemplateColumn Header="操作">
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Button
|
||||
Command="{Binding DataContext.LocationInstanceCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}}"
|
||||
CommandParameter="{Binding}"
|
||||
Style="{StaticResource MaterialDesignToolForegroundButton}">
|
||||
<materialDesign:PackIcon Kind="Show" />
|
||||
</Button>
|
||||
<Button
|
||||
Command="{Binding DataContext.RemoveInstanceCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}}"
|
||||
CommandParameter="{Binding}"
|
||||
Style="{StaticResource MaterialDesignToolForegroundButton}">
|
||||
<materialDesign:PackIcon Kind="Remove" />
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</DataGridTemplateColumn.CellTemplate>
|
||||
</DataGridTemplateColumn>
|
||||
</DataGrid.Columns>
|
||||
</DataGrid>
|
||||
<StackPanel
|
||||
Grid.Row="1"
|
||||
Margin="0,10,0,0"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Bottom"
|
||||
Orientation="Horizontal">
|
||||
<Button
|
||||
Margin="2,0"
|
||||
Command="{Binding RemoveAllInstancesCommand}"
|
||||
Style="{StaticResource MaterialDesignFloatingActionMiniButton}"
|
||||
ToolTip="移除表中全部实例">
|
||||
<materialDesign:PackIcon Kind="Delete" />
|
||||
</Button>
|
||||
<Button
|
||||
Margin="2,0"
|
||||
Command="{Binding RemoveSelectedInstancesCommand}"
|
||||
CommandParameter="{Binding ElementName=InstancesDG, Path=SelectedItems}"
|
||||
Style="{StaticResource MaterialDesignFloatingActionMiniButton}"
|
||||
ToolTip="批量移除表中选中实例">
|
||||
<materialDesign:PackIcon Kind="SelectionRemove" />
|
||||
</Button>
|
||||
<GridSplitter Width="2" Background="Gray" />
|
||||
<Button
|
||||
Margin="2,0"
|
||||
Command="{Binding SelectAllInstancesCommand}"
|
||||
Style="{StaticResource MaterialDesignFloatingActionMiniButton}"
|
||||
ToolTip="在Revit中选中全部实例">
|
||||
<materialDesign:PackIcon Kind="SelectAll" />
|
||||
</Button>
|
||||
<Button
|
||||
Margin="2,0"
|
||||
Command="{Binding SelectSelectedInstancesCommand}"
|
||||
CommandParameter="{Binding ElementName=InstancesDG, Path=SelectedItems}"
|
||||
Style="{StaticResource MaterialDesignFloatingActionMiniButton}"
|
||||
ToolTip="在Revit中选择表中选中实例">
|
||||
<materialDesign:PackIcon Kind="SelectGroup" />
|
||||
</Button>
|
||||
<GridSplitter Width="2" Background="Gray" />
|
||||
<Button
|
||||
Grid.Row="1"
|
||||
Margin="2,0"
|
||||
Command="{Binding RepickInstancesByRectangleCommand}"
|
||||
CommandParameter="{Binding SelectedFacility.MappedFamily}"
|
||||
Style="{StaticResource MaterialDesignFloatingActionMiniButton}"
|
||||
ToolTip="框选实例附加到构件实例表">
|
||||
<materialDesign:PackIcon Kind="Select" />
|
||||
</Button>
|
||||
<Button
|
||||
Grid.Row="1"
|
||||
Margin="2,0"
|
||||
Command="{Binding RepickSamplingInstancesCommand}"
|
||||
CommandParameter="{Binding SelectedFacility.MappedFamily}"
|
||||
Style="{StaticResource MaterialDesignFloatingActionMiniButton}"
|
||||
ToolTip="点选实例附加到构件实例表,可以连续点击,按ESC或右键取消">
|
||||
<materialDesign:PackIcon Kind="CursorHand" />
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
|
||||
<UniformGrid
|
||||
Grid.Row="2"
|
||||
Grid.Column="2"
|
||||
Rows="1">
|
||||
<Button
|
||||
Command="{Binding BrowserExcelCommand}"
|
||||
Content="选择设备表"
|
||||
ToolTip="选择设备信息表" />
|
||||
<Button
|
||||
Command="{Binding ProcessModelInfoCommand}"
|
||||
Content="添加设备信息"
|
||||
ToolTip="将参数表的参数添加到构件实例表的实例参数" />
|
||||
</UniformGrid>
|
||||
<TextBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
materialDesign:HintAssist.Hint="搜索构件表"
|
||||
Text="{Binding SearchInstanceText, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<TextBox
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
materialDesign:HintAssist.Hint="设备信息表路径"
|
||||
IsReadOnly="True"
|
||||
Text="{Binding ExcelPath}" />
|
||||
</Grid>
|
||||
</controls:MaterialWindow>
|
||||
Reference in New Issue
Block a user