调整代码
This commit is contained in:
314
ShrlAlgoToolkit.RevitAddins/FamMaster/FamilyLibraryView.xaml
Normal file
314
ShrlAlgoToolkit.RevitAddins/FamMaster/FamilyLibraryView.xaml
Normal file
@@ -0,0 +1,314 @@
|
||||
<ui:MelWindow
|
||||
x:Class="ShrlAlgoToolkit.RevitAddins.FamMaster.FamilyLibraryView"
|
||||
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:ShrlAlgoToolkit.RevitAddins.RvFamily.FamilyLibrary"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:ui="https://github.com/ShrlAlgo/Melskin"
|
||||
xmlns:famMaster="clr-namespace:ShrlAlgoToolkit.RevitAddins.FamMaster"
|
||||
Title="本地族库"
|
||||
Width="1050"
|
||||
Height="600"
|
||||
MinWidth="1050"
|
||||
MinHeight="600"
|
||||
d:DataContext="{d:DesignInstance Type=famMaster:FamilyLibraryViewModel}"
|
||||
Icon="{DynamicResource RevitIcon}"
|
||||
ResizeMode="CanResizeWithGrip"
|
||||
mc:Ignorable="d">
|
||||
<Window.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary Source="pack://application:,,,/ShrlAlgoToolkit.RevitAddins;component/WPFUI.xaml" />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</ResourceDictionary>
|
||||
</Window.Resources>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto" />
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="200" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="220" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Button
|
||||
Grid.Row="0"
|
||||
Margin="5"
|
||||
HorizontalAlignment="Stretch"
|
||||
ui:ControlAssist.Icon="{ui:Icon SymbolValue=Folder}"
|
||||
Command="{Binding SelectPathCommand}"
|
||||
Content="打开族目录"
|
||||
ToolTip="{Binding FamilyPath, Mode=OneWay, StringFormat=族目录:{}{0}}" />
|
||||
<TreeView
|
||||
x:Name="FolderTreeView"
|
||||
Grid.Row="1"
|
||||
d:ItemsSource="{d:SampleData}"
|
||||
ItemsSource="{Binding FolderTreeViewItems}">
|
||||
<i:Interaction.Triggers>
|
||||
<i:EventTrigger EventName="SelectedItemChanged">
|
||||
<i:InvokeCommandAction Command="{Binding SelectDirTreeNodeCommand}" CommandParameter="{Binding SelectedItem, RelativeSource={RelativeSource AncestorType={x:Type TreeView}, Mode=FindAncestor}}" />
|
||||
<!--<behaviors:InvokeCommandAction Command="{Binding SetSelectedItem}" CommandParameter="{Binding SelectedItem, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=TreeView}}" />-->
|
||||
</i:EventTrigger>
|
||||
</i:Interaction.Triggers>
|
||||
</TreeView>
|
||||
<GridSplitter
|
||||
Grid.Row="1"
|
||||
Grid.Column="1"
|
||||
Width="1"
|
||||
HorizontalAlignment="Center"
|
||||
ShowsPreview="True" />
|
||||
<TextBox
|
||||
x:Name="SearchBox"
|
||||
Grid.Row="0"
|
||||
Grid.Column="2"
|
||||
Margin="5"
|
||||
ui:InputAssist.PlaceholderText="请输入搜索关键词"
|
||||
Cursor="IBeam">
|
||||
<i:Interaction.Triggers>
|
||||
<i:EventTrigger EventName="KeyDown">
|
||||
<i:InvokeCommandAction Command="{Binding SearchFamilyCommand}" CommandParameter="{Binding Text, RelativeSource={RelativeSource AncestorType={x:Type TextBox}, Mode=FindAncestor}}" />
|
||||
</i:EventTrigger>
|
||||
</i:Interaction.Triggers>
|
||||
</TextBox>
|
||||
<ListView
|
||||
Grid.Row="1"
|
||||
Grid.RowSpan="2"
|
||||
Grid.Column="2"
|
||||
d:ItemsSource="{d:SampleData}"
|
||||
ItemsSource="{Binding FamilyPageListViewItems}"
|
||||
SelectedItem="{Binding SelectedFamily}">
|
||||
<i:Interaction.Triggers>
|
||||
<i:EventTrigger EventName="SelectionChanged">
|
||||
<i:InvokeCommandAction Command="{Binding LvSelectionChangedCommand}" CommandParameter="{Binding SelectedItem, RelativeSource={RelativeSource AncestorType={x:Type ListView}, Mode=FindAncestor}}" />
|
||||
</i:EventTrigger>
|
||||
</i:Interaction.Triggers>
|
||||
<!--<ListView.View>
|
||||
<GridView>
|
||||
<GridViewColumn Header="缩略图" >
|
||||
<GridViewColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<Image Source="{Binding ImageData}"/>
|
||||
</DataTemplate>
|
||||
</GridViewColumn.CellTemplate>
|
||||
</GridViewColumn>
|
||||
<GridViewColumn DisplayMemberBinding="{Binding Title}" Header="名称" />
|
||||
<GridViewColumn DisplayMemberBinding="{Binding Path}" Header="路径" />
|
||||
<GridViewColumn DisplayMemberBinding="{Binding RevitVersion}" Header="版本" />
|
||||
<GridViewColumn>
|
||||
<GridViewColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Button
|
||||
Command="{Binding DataContext.ImportFamilyCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}}"
|
||||
CommandParameter="{Binding}"
|
||||
Content="载入"
|
||||
FontFamily="{StaticResource BoxIcons}"
|
||||
ToolTip="将族载入到当前项目" />
|
||||
<Button
|
||||
Command="{Binding DataContext.LocationFamilyFileCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}}"
|
||||
CommandParameter="{Binding}"
|
||||
Content="浏览"
|
||||
FontFamily="{StaticResource BoxIcons}"
|
||||
ToolTip="在资源管理器中浏览文件" />
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</GridViewColumn.CellTemplate>
|
||||
</GridViewColumn>
|
||||
</GridView>
|
||||
</ListView.View>-->
|
||||
<ListView.ItemContainerStyle>
|
||||
<Style TargetType="{x:Type ListViewItem}">
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type ListViewItem}">
|
||||
<Border
|
||||
x:Name="border"
|
||||
Margin="5"
|
||||
Background="{TemplateBinding Background}"
|
||||
BorderBrush="Transparent"
|
||||
BorderThickness="2"
|
||||
CornerRadius="5">
|
||||
<ContentPresenter />
|
||||
</Border>
|
||||
<ControlTemplate.Triggers>
|
||||
<MultiTrigger>
|
||||
<MultiTrigger.Conditions>
|
||||
<Condition Property="IsMouseOver" Value="True" />
|
||||
<Condition Property="IsSelected" Value="False" />
|
||||
</MultiTrigger.Conditions>
|
||||
<Setter TargetName="border" Property="BorderBrush" Value="Gray" />
|
||||
</MultiTrigger>
|
||||
<Trigger Property="IsSelected" Value="True">
|
||||
<Setter TargetName="border" Property="BorderBrush" Value="LightSkyBlue" />
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</ListView.ItemContainerStyle>
|
||||
<ListView.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<WrapPanel Width="{Binding (FrameworkElement.ActualWidth), RelativeSource={RelativeSource AncestorType={x:Type ScrollContentPresenter}}}" />
|
||||
</ItemsPanelTemplate>
|
||||
</ListView.ItemsPanel>
|
||||
<ListView.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<ui:Card Padding="0">
|
||||
<Grid Width="170" Height="210">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="170" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<Image
|
||||
Grid.Row="0"
|
||||
Width="128"
|
||||
Height="128"
|
||||
Source="{Binding ImageData}"
|
||||
Stretch="Uniform"
|
||||
ToolTip="{Binding ToolTip}" />
|
||||
<StackPanel
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom"
|
||||
Orientation="Horizontal">
|
||||
<StackPanel.Style>
|
||||
<Style TargetType="{x:Type StackPanel}">
|
||||
<Setter Property="Visibility" Value="Collapsed" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding IsMouseOver, RelativeSource={RelativeSource AncestorType={x:Type ListViewItem}, Mode=FindAncestor}}" Value="True">
|
||||
<Setter Property="Visibility" Value="Visible" />
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</StackPanel.Style>
|
||||
<Button
|
||||
ui:ControlAssist.AppearanceType="Primary"
|
||||
ui:ControlAssist.Icon="{ui:Icon SymbolValue=ImportContacts}"
|
||||
Command="{Binding DataContext.ImportFamilyCommand, RelativeSource={RelativeSource AncestorType={x:Type Window}, Mode=FindAncestor}}"
|
||||
CommandParameter="{Binding}"
|
||||
Content="载入"
|
||||
ToolTip="将族载入到当前项目" />
|
||||
<Button
|
||||
ui:ControlAssist.AppearanceType="Primary"
|
||||
ui:ControlAssist.Icon="{ui:Icon SymbolValue=LocationChip}"
|
||||
Command="{Binding DataContext.LocationFamilyFileCommand, RelativeSource={RelativeSource AncestorType={x:Type Window}, Mode=FindAncestor}}"
|
||||
CommandParameter="{Binding}"
|
||||
Content="定位"
|
||||
ToolTip="在资源管理器中浏览文件" />
|
||||
<!--
|
||||
CommandParameter="{Binding SelectedItem, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListView}}"
|
||||
CommandParameter="{Binding DataContext, RelativeSource={RelativeSource Mode=Self}}" 等价于 CommandParameter="{Binding}"
|
||||
-->
|
||||
</StackPanel>
|
||||
<TextBlock
|
||||
Grid.Row="1"
|
||||
Width="128"
|
||||
Text="{Binding Title}"
|
||||
TextAlignment="Center"
|
||||
TextWrapping="WrapWithOverflow" />
|
||||
</Grid>
|
||||
</ui:Card>
|
||||
</DataTemplate>
|
||||
</ListView.ItemTemplate>
|
||||
<ListView.Template>
|
||||
<ControlTemplate TargetType="{x:Type ListView}">
|
||||
<ScrollViewer
|
||||
x:Name="scr"
|
||||
HorizontalScrollBarVisibility="Disabled"
|
||||
VerticalScrollBarVisibility="Auto">
|
||||
<i:Interaction.Triggers>
|
||||
<i:EventTrigger EventName="ScrollChanged">
|
||||
<i:InvokeCommandAction Command="{Binding LvScrollCommand}" CommandParameter="{Binding RelativeSource={RelativeSource AncestorType={x:Type ScrollViewer}, Mode=FindAncestor}}" />
|
||||
</i:EventTrigger>
|
||||
</i:Interaction.Triggers>
|
||||
<WrapPanel IsItemsHost="True" ScrollViewer.CanContentScroll="True" />
|
||||
</ScrollViewer>
|
||||
</ControlTemplate>
|
||||
</ListView.Template>
|
||||
</ListView>
|
||||
<GridSplitter
|
||||
Grid.Row="1"
|
||||
Grid.Column="3"
|
||||
Width="1"
|
||||
HorizontalAlignment="Center"
|
||||
ShowsPreview="True" />
|
||||
<DataGrid
|
||||
Grid.Row="1"
|
||||
Grid.Column="4"
|
||||
Margin="5"
|
||||
d:ItemsSource="{d:SampleData}"
|
||||
AutoGenerateColumns="False"
|
||||
CanUserAddRows="False"
|
||||
IsReadOnly="True"
|
||||
ItemsSource="{Binding SelectedItem.ParameterDefinitions, ElementName=CbbSymbols, Mode=TwoWay}">
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Binding="{Binding Name}" Header="属性名" />
|
||||
<DataGridTextColumn Binding="{Binding Value}" Header="属性值" />
|
||||
</DataGrid.Columns>
|
||||
</DataGrid>
|
||||
<!--<StackPanel
|
||||
Grid.Row="1"
|
||||
Grid.Column="2"
|
||||
Margin="5"
|
||||
HorizontalAlignment="Right"
|
||||
VerticalAlignment="Top">
|
||||
<hc:ButtonGroup Style="{StaticResource ButtonGroupSolid}">
|
||||
<RadioButton IsChecked="True" Style="{StaticResource RadioGroupItemHorizontalFirst}">
|
||||
<hc:Interaction.Triggers>
|
||||
<hc:EventTrigger EventName="Checked">
|
||||
<hc:EventToCommand Command="{Binding ModifyLayout}" CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=RadioButton}}" />
|
||||
</hc:EventTrigger>
|
||||
</hc:Interaction.Triggers>
|
||||
</RadioButton>
|
||||
<RadioButton Style="{StaticResource RadioGroupItemHorizontalLast}">
|
||||
<hc:Interaction.Triggers>
|
||||
<hc:EventTrigger EventName="Checked">
|
||||
<hc:EventToCommand Command="{Binding ModifyLayout}" CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=RadioButton}}" />
|
||||
</hc:EventTrigger>
|
||||
</hc:Interaction.Triggers>
|
||||
</RadioButton>
|
||||
</hc:ButtonGroup>
|
||||
</StackPanel>-->
|
||||
<ui:StackPanel
|
||||
Grid.Row="0"
|
||||
Grid.Column="4"
|
||||
Orientation="Horizontal">
|
||||
<ComboBox
|
||||
x:Name="CbbSymbols"
|
||||
ui:InputAssist.PlaceholderText="选择族类型"
|
||||
ui:StackPanel.Fill="Fill"
|
||||
DisplayMemberPath="Name"
|
||||
ItemsSource="{Binding SymbolTypes, Mode=TwoWay}"
|
||||
SelectedItem="{Binding SelectedSymbolType, UpdateSourceTrigger=PropertyChanged}" />
|
||||
<Button
|
||||
Grid.Column="1"
|
||||
Margin="5"
|
||||
ui:StackPanel.Fill="Auto"
|
||||
Command="{Binding ImportFamilySymbolCommand}"
|
||||
Content=""
|
||||
ui:ControlAssist.Icon="{ui:Icon SymbolValue=FrontLoader}"
|
||||
ToolTip="载入类型" />
|
||||
</ui:StackPanel>
|
||||
<TextBlock
|
||||
Grid.Row="2"
|
||||
Grid.Column="0"
|
||||
Margin="5"
|
||||
Text="{Binding FamilyCount, Mode=OneWay, StringFormat=共计{}{0}个}" />
|
||||
<ui:Alert
|
||||
Grid.Row="2"
|
||||
Grid.Column="2"
|
||||
Message="{Binding Message}" />
|
||||
|
||||
<TextBlock
|
||||
Grid.Row="2"
|
||||
Grid.Column="4"
|
||||
Text="{Binding RevitVersion, Mode=OneWay, StringFormat=当前文件版本:Revit \{0\}}" />
|
||||
</Grid>
|
||||
</ui:MelWindow>
|
||||
Reference in New Issue
Block a user