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

141 lines
8.7 KiB
XML

<ui:NeoWindow
Height="450"
MinHeight="450"
Title="碰撞报告"
Width="700"
d:DataContext="{d:DesignInstance Type=local:ClashReportViewModel}"
mc:Ignorable="d"
x:Class="ShrlAlgoToolkit.RevitAddins.RvMEP.ClashReportView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
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>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/ShrlAlgoToolkit.RevitAddins;component/WPFUI.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<ui:Grid
ChildMargin="5"
Columns="*"
Rows="*,Auto">
<DataGrid
AutoGenerateColumns="True"
CanUserAddRows="True"
IsReadOnly="True"
ItemsSource="{Binding CurrentViewItems.DefaultView}"
VerticalScrollBarVisibility="Visible">
<b:Interaction.Triggers>
<b:EventTrigger EventName="MouseDoubleClick">
<b:InvokeCommandAction Command="{Binding LocationCommand}" CommandParameter="{Binding SelectedItem, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}, Mode=FindAncestor}}" />
</b:EventTrigger>
</b:Interaction.Triggers>
<DataGrid.Template>
<ControlTemplate>
<Border
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Padding="{TemplateBinding Padding}"
SnapsToDevicePixels="True">
<ScrollViewer
CanContentScroll="True"
Focusable="false"
x:Name="DG_ScrollViewer">
<b:Interaction.Triggers>
<b:EventTrigger EventName="ScrollChanged">
<b:InvokeCommandAction Command="{Binding LvScrollCommand}" CommandParameter="{Binding RelativeSource={RelativeSource AncestorType={x:Type ScrollViewer}, Mode=FindAncestor}}" />
</b:EventTrigger>
</b:Interaction.Triggers>
<ScrollViewer.Template>
<ControlTemplate TargetType="{x:Type ScrollViewer}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Button
Command="{x:Static DataGrid.SelectAllCommand}"
Focusable="false"
Style="{DynamicResource {ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle,
TypeInTargetAssembly={x:Type DataGrid}}}"
Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.All}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"
Width="{Binding CellsPanelHorizontalOffset, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />
<DataGridColumnHeadersPresenter
Grid.Column="1"
Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.Column}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"
x:Name="PART_ColumnHeadersPresenter" />
<ScrollContentPresenter
CanContentScroll="{TemplateBinding CanContentScroll}"
Grid.ColumnSpan="2"
Grid.Row="1"
x:Name="PART_ScrollContentPresenter" />
<ScrollBar
Grid.Column="2"
Grid.Row="1"
Maximum="{TemplateBinding ScrollableHeight}"
Orientation="Vertical"
Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource Mode=TemplatedParent}}"
ViewportSize="{TemplateBinding ViewportHeight}"
Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}"
x:Name="PART_VerticalScrollBar" />
<Grid Grid.Column="1" Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="{Binding NonFrozenColumnsViewportHorizontalOffset, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<ScrollBar
Grid.Column="1"
Maximum="{TemplateBinding ScrollableWidth}"
Orientation="Horizontal"
Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource Mode=TemplatedParent}}"
ViewportSize="{TemplateBinding ViewportWidth}"
Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}"
x:Name="PART_HorizontalScrollBar" />
</Grid>
</Grid>
</ControlTemplate>
</ScrollViewer.Template>
<StackPanel IsItemsHost="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</ScrollViewer>
</Border>
</ControlTemplate>
</DataGrid.Template>
</DataGrid>
<ui:StackPanel
Grid.Row="1"
HorizontalAlignment="Right"
Orientation="Horizontal"
Spacing="5">
<StackPanel Orientation="Horizontal">
<CheckBox
Content="当前视图"
IsChecked="{Binding InCurrentView, UpdateSourceTrigger=PropertyChanged}"
ToolTip="在当前视图中去定位" />
<CheckBox
Content="修改剖面框"
IsChecked="{Binding IsSetSectionBox, UpdateSourceTrigger=PropertyChanged}"
ToolTip="只选中构件,不修改剖面框" />
</StackPanel>
<Button
Command="{Binding OpenFileCommand}"
Content="打开"
Width="75" />
<Button
Command="{Binding RefreshCommand}"
Content="刷新"
Width="75" />
</ui:StackPanel>
</ui:Grid>
</ui:NeoWindow>