Files
Shrlalgo.RvKits/ShrlAlgoToolkit.RevitAddins/RvMEP/AddInsulationView.xaml
ShrlAlgo 955a01f564 整理
2025-08-20 12:10:35 +08:00

109 lines
4.9 KiB
XML

<ui:NeoWindow
MinHeight="300"
SizeToContent="Height"
Title="保温层"
Width="620"
d:DataContext="{d:DesignInstance Type=local:AddInsulationViewModel}"
mc:Ignorable="d"
x:Class="ShrlAlgoToolkit.RevitAddins.RvMEP.AddInsulationView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:ShrlAlgoToolkit.RevitAddins.RvMEP"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:ui="https://github.com/ShrlAlgo/NeoUI"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Window.Resources>
<ResourceDictionary Source="pack://application:,,,/ShrlAlgoToolkit.RevitAddins;component/WPFUI.xaml" />
</Window.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<ui:StackPanel
Grid.Column="0"
Grid.RowSpan="2"
IsEnabled="{Binding AddToPipe, Mode=TwoWay}"
Margin="5"
Spacing="5">
<ComboBox
DisplayMemberPath="Name"
Header="管道系统类型"
ItemsSource="{Binding PipingSystemTypes}"
SelectedItem="{Binding SelectedPipingSystemType}" />
<DataGrid
AutoGenerateColumns="False"
ItemsSource="{Binding PipeInsulationItems}"
SelectionUnit="FullRow"
ui:StackPanel.Fill="Fill">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding MinDiameter}" Header="最小管径" />
<DataGridTextColumn Binding="{Binding MaxDiameter}" Header="最大管径" />
<DataGridTextColumn Binding="{Binding Thickness}" Header="保温层厚度" />
<!--<DataGridTextColumn Binding="{Binding PipeInsulationType.Name}" Header="保温层材料" />-->
<!--<DataGridComboBoxColumn
DisplayMemberPath=""
Header="保温层材料"
ItemsSource="{Binding PipeInsulationTypes}"
SelectedItemBinding="{Binding PipeInsulationType, UpdateSourceTrigger=PropertyChanged}"
TextBinding="{Binding PipeInsulationType.Name}" />-->
<DataGridTemplateColumn Header="保温层材料" Width="*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel>
<ComboBox
DisplayMemberPath="Name"
ItemsSource="{Binding DataContext.PipeInsulationTypes, RelativeSource={RelativeSource AncestorType={x:Type Window}, Mode=FindAncestor}}"
SelectedItem="{Binding PipeInsulationType, UpdateSourceTrigger=PropertyChanged}" />
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</ui:StackPanel>
<ui:StackPanel
Grid.Column="1"
IsEnabled="{Binding AddToDuct, Mode=TwoWay}"
Margin="5"
Spacing="5">
<ComboBox
DisplayMemberPath="Name"
Header="风管系统类型:"
ItemsSource="{Binding DuctSystemTypes}"
SelectedItem="{Binding SelectedDuctSystem}" />
<ComboBox
DisplayMemberPath="Name"
Header="保温层类型:"
ItemsSource="{Binding DuctInsulationTypes}"
SelectedItem="{Binding DuctInsulationItem.DuctInsulationType}" />
<TextBox Header="保温层厚度:" Text="{Binding DuctInsulationItem.Thickness, UpdateSourceTrigger=PropertyChanged}" />
</ui:StackPanel>
<StackPanel
Grid.Column="1"
Grid.Row="1"
HorizontalAlignment="Right"
Orientation="Horizontal">
<CheckBox
Content="管道"
IsChecked="{Binding AddToPipe}"
Margin="5"
MinWidth="50" />
<CheckBox
Content="风管"
IsChecked="{Binding AddToDuct}"
Margin="5"
MinWidth="50" />
<Button
Command="{Binding AddInsulationCommand}"
Content="添加保温层"
Grid.Row="1"
HorizontalAlignment="Right" />
</StackPanel>
</Grid>
</ui:NeoWindow>