Files
RevitArchive/RevitKits/WBSCoder/WbsCodeGeneratorPage.xaml
2026-02-23 14:58:05 +08:00

202 lines
9.2 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<Page
x:Class="Sai.Common.Shared.WBSCoder.WbsCodeGeneratorPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:wbsCoder="clr-namespace:Sai.Common.Shared.WBSCoder"
Title="WbsCodeGeneratorPage"
d:DataContext="{d:DesignInstance Type=wbsCoder:WbsCodeGeneratorViewModel}"
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d">
<Page.Resources>
<ResourceDictionary Source="/Sai.RvKits;component/Styles/WPFUI.xaml" />
</Page.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<WrapPanel Grid.Row="0" Grid.ColumnSpan="2">
<TextBox
Width="250"
materialDesign:HintAssist.Hint="项目代码"
CharacterCasing="Upper"
Cursor="Arrow"
InputMethod.IsInputMethodEnabled="False"
Text="{Binding ProjectCode, UpdateSourceTrigger=PropertyChanged}"
ToolTip="项目代码">
<b:Interaction.Triggers>
<b:EventTrigger EventName="TextChanged">
<b:InvokeCommandAction Command="{Binding OverrideWbsCodeCommand}" />
</b:EventTrigger>
</b:Interaction.Triggers>
</TextBox>
<ComboBox
Width="250"
materialDesign:HintAssist.Hint="工程类别"
DisplayMemberPath="Name"
IsEditable="True"
IsReadOnly="False"
IsTextSearchCaseSensitive="True"
IsTextSearchEnabled="True"
ItemsSource="{Binding EngineerCategories, Mode=TwoWay}"
SelectedValue="{Binding SelectedCategory, UpdateSourceTrigger=PropertyChanged}"
TextSearch.TextPath="Name"
ToolTip="工程类别">
<b:Interaction.Triggers>
<b:EventTrigger EventName="SelectionChanged">
<b:InvokeCommandAction Command="{Binding GetSubUnitEngineersCommand}" />
</b:EventTrigger>
</b:Interaction.Triggers>
</ComboBox>
<ComboBox
Width="250"
materialDesign:HintAssist.Hint="单位工程"
DisplayMemberPath="Name"
IsEditable="True"
ItemsSource="{Binding UnitEngineers, Mode=TwoWay}"
SelectedValue="{Binding SelectedUnit, UpdateSourceTrigger=PropertyChanged}"
TextSearch.TextPath="Name"
ToolTip="单位工程">
<b:Interaction.Triggers>
<b:EventTrigger EventName="SelectionChanged">
<b:InvokeCommandAction Command="{Binding GetSubUnitEngineersCommand}" />
</b:EventTrigger>
</b:Interaction.Triggers>
</ComboBox>
<ComboBox
Width="250"
materialDesign:HintAssist.Hint="子单位工程"
DisplayMemberPath="Name"
IsEditable="True"
ItemsSource="{Binding SubUnitEngineers, Mode=TwoWay}"
SelectedValue="{Binding SelectSubUnit, UpdateSourceTrigger=PropertyChanged}"
TextSearch.TextPath="Name"
ToolTip="子单位工程">
<b:Interaction.Triggers>
<b:EventTrigger EventName="SelectionChanged">
<b:InvokeCommandAction Command="{Binding GetSectionEngineersCommand}" />
</b:EventTrigger>
</b:Interaction.Triggers>
</ComboBox>
<ComboBox
Width="250"
materialDesign:HintAssist.Hint="分部工程"
DisplayMemberPath="Name"
IsEditable="True"
ItemsSource="{Binding SectionEngineers, Mode=TwoWay}"
SelectedValue="{Binding SelectedSection, UpdateSourceTrigger=PropertyChanged}"
TextSearch.TextPath="Name"
ToolTip="分部工程">
<b:Interaction.Triggers>
<b:EventTrigger EventName="SelectionChanged">
<b:InvokeCommandAction Command="{Binding GetSubSectionEngineersCommand}" />
</b:EventTrigger>
</b:Interaction.Triggers>
</ComboBox>
<ComboBox
Width="250"
materialDesign:HintAssist.Hint="子分部工程"
DisplayMemberPath="Name"
IsEditable="True"
ItemsSource="{Binding SubSectionEngineers, Mode=TwoWay}"
SelectedValue="{Binding SelectedSubSection, UpdateSourceTrigger=PropertyChanged}"
TextSearch.TextPath="Name"
ToolTip="子分部工程">
<b:Interaction.Triggers>
<b:EventTrigger EventName="SelectionChanged">
<b:InvokeCommandAction Command="{Binding GetComponentCodesCommand}" />
</b:EventTrigger>
</b:Interaction.Triggers>
</ComboBox>
<TextBox
Width="250"
materialDesign:HintAssist.Hint="预留区域码"
CharacterCasing="Upper"
InputMethod.IsInputMethodEnabled="False"
Text="{Binding RegionCode, UpdateSourceTrigger=PropertyChanged}">
<TextBox.ToolTip>
<TextBlock
Width="320"
Text="预留区域码:民用建筑工程:&#x0a;地上楼层区 0010101 001栋01层01区&#x0a;地下楼层区 B01B101 第一个分区地下负1层01区&#x0a;室外工程:&#x0a;001 01区 "
TextWrapping="WrapWithOverflow" />
</TextBox.ToolTip>
<b:Interaction.Triggers>
<b:EventTrigger EventName="TextChanged">
<b:InvokeCommandAction Command="{Binding OverrideWbsCodeCommand}" />
</b:EventTrigger>
</b:Interaction.Triggers>
</TextBox>
<ComboBox
Width="250"
materialDesign:HintAssist.Hint="构件编码"
DisplayMemberPath="Name"
IsEditable="True"
ItemsSource="{Binding ComponentCodes, Mode=TwoWay}"
SelectedValue="{Binding SelectedComponentCode, UpdateSourceTrigger=PropertyChanged}"
TextSearch.TextPath="Name"
ToolTip="构件编码">
<b:Interaction.Triggers>
<b:EventTrigger EventName="SelectionChanged">
<b:InvokeCommandAction Command="{Binding OverrideWbsCodeCommand}" />
</b:EventTrigger>
</b:Interaction.Triggers>
</ComboBox>
<TextBox
Width="250"
materialDesign:HintAssist.Hint="序列码"
InputMethod.IsInputMethodEnabled="False"
Text="{Binding SequenceCode, UpdateSourceTrigger=PropertyChanged, StringFormat={}{0:D4}}"
ToolTip="序列码:输入序号,自动补位">
<b:Interaction.Triggers>
<b:EventTrigger EventName="TextChanged">
<b:InvokeCommandAction Command="{Binding OverrideWbsCodeCommand}" />
</b:EventTrigger>
</b:Interaction.Triggers>
</TextBox>
</WrapPanel>
<Separator
Grid.Row="1"
Grid.Column="0"
Grid.ColumnSpan="2"
Height="2"
VerticalAlignment="Top" />
<TextBox
x:Name="TbWbsCode"
Grid.Row="1"
Grid.Column="0"
Grid.ColumnSpan="2"
materialDesign:HintAssist.Hint="WBS编码"
Cursor="Arrow"
IsReadOnly="True"
Text="{Binding WbsCode}"
TextAlignment="Center"
ToolTip="WBS编码" />
<Button
Grid.Row="2"
Grid.Column="0"
Grid.ColumnSpan="2"
Cursor="Hand"
ToolTip="复制到剪贴板">
<b:Interaction.Triggers>
<b:EventTrigger EventName="Click">
<b:InvokeCommandAction Command="{Binding CopyToClipBoardCommand}"
CommandParameter="{Binding Text, ElementName=TbWbsCode}" />
</b:EventTrigger>
</b:Interaction.Triggers>
<StackPanel Orientation="Horizontal">
<materialDesign:PackIcon Kind="Clipboard" />
<TextBlock>复制</TextBlock>
</StackPanel>
</Button>
</Grid>
</Page>