96 lines
6.1 KiB
XML
96 lines
6.1 KiB
XML
<UserControl xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:u="https://irihi.tech/ursa"
|
|
xmlns:vm="using:Ursa.Demo.ViewModels"
|
|
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
|
x:Class="Ursa.Demo.Pages.PathPickerDemo"
|
|
x:DataType="vm:PathPickerDemoViewModel">
|
|
<Grid ColumnDefinitions="*,*"
|
|
RowDefinitions="7*,3*">
|
|
<ScrollViewer Grid.Column="0" Grid.Row="0">
|
|
<StackPanel>
|
|
<HeaderedContentControl Theme="{DynamicResource GroupBox}"
|
|
Header="Functionality and Usage"
|
|
Content="PathPicker aggregates file selection functionality and provides a Command property. When a button is pressed or Enter is pressed while the focus is on PathPicker, the Command is triggered and a Task <IReadOnlyList> is passed to the Command.">
|
|
</HeaderedContentControl>
|
|
<u:Form LabelAlignment="Left" LabelPosition="Left" LabelWidth="*" HorizontalAlignment="Stretch">
|
|
<TextBox Name="Title" u:FormItem.Label="Title"></TextBox>
|
|
<TextBox Name="SuggestedFileName" u:FormItem.Label="SuggestedFileName"
|
|
Watermark="filename(not have file extension)">
|
|
</TextBox>
|
|
<TextBox Name="SuggestedStartPath" u:FormItem.Label="SuggestedStartPath"
|
|
Watermark="D:\Win7 Help\win-x64">
|
|
</TextBox>
|
|
<TextBox Name="FileFilter" u:FormItem.Label="FileFilter"
|
|
Watermark="*.txt,*.json or *.json">
|
|
</TextBox>
|
|
<TextBox Name="DefaultFileExtension" u:FormItem.Label="DefaultFileExtension"
|
|
Watermark="json">
|
|
</TextBox>
|
|
<ToggleButton Name="AllowMultiple" Content="AllowMultiple" u:FormItem.NoLabel="True"
|
|
HorizontalAlignment="Stretch">
|
|
</ToggleButton>
|
|
<u:EnumSelector Name="UsePickerType" EnumType="u:UsePickerTypes" u:FormItem.Label="UsePickerType"></u:EnumSelector>
|
|
</u:Form>
|
|
</StackPanel>
|
|
</ScrollViewer>
|
|
<ScrollViewer Grid.Column="0" Grid.Row="1">
|
|
<StackPanel Spacing="2">
|
|
<HeaderedContentControl Header="Default">
|
|
<u:PathPicker Title="{Binding #Title.Text}"
|
|
SuggestedFileName="{Binding #SuggestedFileName.Text}"
|
|
SuggestedStartPath="{Binding #SuggestedStartPath.Text}"
|
|
FileFilter="{Binding #FileFilter.Text}"
|
|
DefaultFileExtension="{Binding #DefaultFileExtension.Text}"
|
|
AllowMultiple="{Binding #AllowMultiple.IsChecked}"
|
|
UsePickerType="{Binding #UsePickerType.Value}"
|
|
SelectedPath="{Binding Path,Mode=OneWayToSource}"
|
|
SelectedPaths="{Binding Paths,Mode=OneWayToSource}">
|
|
</u:PathPicker>
|
|
</HeaderedContentControl>
|
|
<HeaderedContentControl Header="PathPickerOnlyButton">
|
|
<u:PathPicker Theme="{DynamicResource PathPickerOnlyButton}"
|
|
Title="{Binding #Title.Text}"
|
|
SuggestedFileName="{Binding #SuggestedFileName.Text}"
|
|
SuggestedStartPath="{Binding #SuggestedStartPath.Text}"
|
|
FileFilter="{Binding #FileFilter.Text}"
|
|
DefaultFileExtension="{Binding #DefaultFileExtension.Text}"
|
|
AllowMultiple="{Binding #AllowMultiple.IsChecked}"
|
|
UsePickerType="{Binding #UsePickerType.Value}"
|
|
SelectedPath="{Binding Path,Mode=OneWayToSource}"
|
|
SelectedPaths="{Binding Paths,Mode=OneWayToSource}">
|
|
</u:PathPicker>
|
|
</HeaderedContentControl>
|
|
<HeaderedContentControl Header="PathPickerForList">
|
|
<u:PathPicker Theme="{DynamicResource PathPickerForList}"
|
|
Title="{Binding #Title.Text}"
|
|
SuggestedFileName="{Binding #SuggestedFileName.Text}"
|
|
SuggestedStartPath="{Binding #SuggestedStartPath.Text}"
|
|
FileFilter="{Binding #FileFilter.Text}"
|
|
DefaultFileExtension="{Binding #DefaultFileExtension.Text}"
|
|
AllowMultiple="{Binding #AllowMultiple.IsChecked}"
|
|
UsePickerType="{Binding #UsePickerType.Value}"
|
|
SelectedPath="{Binding Path,Mode=OneWayToSource}"
|
|
SelectedPaths="{Binding Paths,Mode=OneWayToSource}">
|
|
</u:PathPicker>
|
|
</HeaderedContentControl>
|
|
</StackPanel>
|
|
</ScrollViewer>
|
|
<ScrollViewer Grid.Column="1" Grid.Row="0" Grid.RowSpan="2">
|
|
<StackPanel Spacing="1">
|
|
<HeaderedContentControl Header="SelectedPath">
|
|
<TextBox Name="SelectedPath" u:FormItem.Label="SelectedPath" IsReadOnly="True"
|
|
Text="{Binding Path}">
|
|
</TextBox>
|
|
</HeaderedContentControl>
|
|
<HeaderedContentControl Header="SelectedPaths">
|
|
<ListBox Name="SelectedPaths"
|
|
ItemsSource="{Binding Paths}">
|
|
</ListBox>
|
|
</HeaderedContentControl>
|
|
</StackPanel>
|
|
</ScrollViewer>
|
|
</Grid>
|
|
</UserControl> |