Modified the triggering method and parameter passing of the Command;changedSelectedPathtoSelectedPathsTextand supported two-way conversion withSelectedPaths;modified the parsing method ofFileFilterso that it can override theNameparameter of theFilePickerFileTypeconstructor and can define multipleFilePickerFileTypeinstances;added support forFilePickerFileTypesinFileFilter;and added a new PathPicker stylePathPickerForMultipleText.

This commit is contained in:
望尘空忧
2025-01-11 14:01:31 +08:00
parent cbde121bb7
commit c6bbcf7226
3 changed files with 196 additions and 97 deletions

View File

@@ -9,31 +9,50 @@
<Button Name="PART_Button"
DockPanel.Dock="Right"
Content="{TemplateBinding Title}"
Command="{TemplateBinding Command}"
Margin="1,0,0,0">
</Button>
<TextBox DockPanel.Dock="Left"
Text="{TemplateBinding SelectedPath,Mode=TwoWay}">
Text="{TemplateBinding SelectedPathsText,Mode=TwoWay}">
</TextBox>
</DockPanel>
</ControlTemplate>
</Setter>
</ControlTheme>
<ControlTheme x:Key="PathPickerForMultipleText" TargetType="ursa:PathPicker">
<Setter Property="Template">
<ControlTemplate>
<DockPanel HorizontalAlignment="{TemplateBinding HorizontalAlignment}"
VerticalAlignment="{TemplateBinding VerticalAlignment}">
<Button Name="PART_Button"
DockPanel.Dock="Top"
HorizontalAlignment="Stretch"
Content="{TemplateBinding Title}"
Margin="0,0,0,1">
</Button>
<TextBox DockPanel.Dock="Bottom"
Text="{TemplateBinding SelectedPathsText,Mode=TwoWay}"
AcceptsReturn="True">
</TextBox>
</DockPanel>
</ControlTemplate>
</Setter>
</ControlTheme>
<ControlTheme x:Key="PathPickerOnlyButton" TargetType="ursa:PathPicker">
<Setter Property="Template">
<ControlTemplate>
<Button Name="PART_Button"
HorizontalAlignment="{TemplateBinding HorizontalAlignment}"
VerticalAlignment="{TemplateBinding VerticalAlignment}"
Content="{TemplateBinding Title}"
Command="{TemplateBinding Command}">
Content="{TemplateBinding Title}">
</Button>
</ControlTemplate>
</Setter>
</ControlTheme>
<ControlTheme x:Key="PathPickerForList" TargetType="ursa:PathPicker">
<ControlTheme x:Key="PathPickerForListView" TargetType="ursa:PathPicker">
<Setter Property="Template">
<ControlTemplate>
<Expander HorizontalAlignment="{TemplateBinding HorizontalAlignment}"
@@ -41,8 +60,7 @@
<Expander.Header>
<Button Name="PART_Button"
HorizontalAlignment="Stretch"
Content="{TemplateBinding Title}"
Command="{TemplateBinding Command}">
Content="{TemplateBinding Title}">
<Button.Theme>
<ControlTheme TargetType="Button">
<Setter Property="Template">