CommandPalette WIP

This commit is contained in:
2023-05-22 09:29:41 +02:00
parent 2fe362ad6e
commit 0ed161c819
59 changed files with 536 additions and 276 deletions

View File

@@ -1,7 +1,23 @@
<Window
Background="Transparent"
Closed="OnWindowClosed"
ExtendClientAreaToDecorationsHint="True"
FontFamily="{Binding MainFont^, Mode=OneWay}"
Icon="/Assets/filetime.ico"
KeyDown="OnKeyDown"
MinHeight="600"
MinWidth="800"
Opened="OnWindowOpened"
RequestedThemeVariant="Dark"
Title="FileTime"
TransparencyLevelHint="Blur"
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d"
x:Class="FileTime.GuiApp.Views.MainWindow"
x:CompileBindings="True"
x:DataType="vm:IMainWindowViewModelBase"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:appCoreModels="using:FileTime.App.Core.Models"
xmlns:config="using:FileTime.GuiApp.Configuration"
xmlns:corevm="using:FileTime.App.Core.ViewModels"
@@ -10,23 +26,7 @@
xmlns:local="using:FileTime.GuiApp.Views"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:vm="using:FileTime.GuiApp.ViewModels"
Title="FileTime"
MinWidth="800"
MinHeight="600"
d:DesignHeight="450"
d:DesignWidth="800"
x:CompileBindings="True"
x:DataType="vm:IMainWindowViewModelBase"
Background="Transparent"
Closed="OnWindowClosed"
ExtendClientAreaToDecorationsHint="True"
FontFamily="{Binding MainFont^, Mode=OneWay}"
Icon="/Assets/filetime.ico"
KeyDown="OnKeyDown"
Opened="OnWindowOpened"
RequestedThemeVariant="Dark"
TransparencyLevelHint="Blur"
mc:Ignorable="d">
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
@@ -41,54 +41,36 @@
</Window.Styles>
<Grid Background="{DynamicResource AppBackgroundBrush}">
<Grid
x:DataType="vm:MainWindowViewModel"
IsVisible="{Binding Loading, Converter={x:Static BoolConverters.Not}, FallbackValue=False}">
<Grid IsVisible="{Binding Loading, Converter={x:Static BoolConverters.Not}, FallbackValue=False}" x:DataType="vm:MainWindowViewModel">
<Grid
ColumnDefinitions="250,*"
RowDefinitions="Auto,*">
<Grid ColumnDefinitions="250,*" RowDefinitions="Auto,*">
<Grid PointerPressed="HeaderPointerPressed">
<Rectangle Fill="#01000000" />
<TextBlock
Margin="15,10"
Text="{Binding Title}" />
<TextBlock Margin="15,10" Text="{Binding Title}" />
</Grid>
<Grid
Grid.Column="1"
PointerPressed="HeaderPointerPressed">
<Grid Grid.Column="1" PointerPressed="HeaderPointerPressed">
<Rectangle Fill="#01000000" />
<StackPanel
Margin="20,10"
Orientation="Horizontal">
<StackPanel Margin="20,10" Orientation="Horizontal">
<local:PathPresenter DataContext="{Binding AppState.SelectedTab^.CurrentLocation^.FullName.Path, Converter={StaticResource PathPreformatter}}" />
<TextBlock
Foreground="{StaticResource AccentBrush}"
Text="{Binding AppState.SelectedTab^.CurrentSelectedItem^.DisplayNameText}" />
<TextBlock Foreground="{StaticResource AccentBrush}" Text="{Binding AppState.SelectedTab^.CurrentSelectedItem^.DisplayNameText}" />
</StackPanel>
</Grid>
<Grid
Grid.Row="1"
RowDefinitions="Auto,Auto,Auto,Auto">
<Grid Grid.Row="1" RowDefinitions="Auto,Auto,Auto,Auto">
<Border
Margin="10"
Padding="10"
Background="{DynamicResource ContainerBackgroundBrush}"
CornerRadius="10">
CornerRadius="10"
Margin="10"
Padding="10">
<Grid RowDefinitions="Auto,Auto">
<TextBlock
Margin="0,0,0,10"
Text="Drives" />
<TextBlock Margin="0,0,0,10" Text="Drives" />
<ItemsRepeater
Grid.Row="1"
ItemsSource="{Binding AppState.RootDriveInfos.Collection}">
<ItemsRepeater Grid.Row="1" ItemsSource="{Binding AppState.RootDriveInfos.Collection}">
<ItemsRepeater.ItemTemplate>
<DataTemplate x:DataType="vm:RootDriveInfo">
<Grid
@@ -96,66 +78,66 @@
Cursor="Hand"
PointerPressed="OnHasContainerPointerPressed">
<Grid
Margin="0,5"
ColumnDefinitions="Auto,*,Auto"
Margin="0,5"
RowDefinitions="Auto,Auto">
<Image
Grid.RowSpan="2"
Width="20"
Height="20"
HorizontalAlignment="Left"
Source="{SvgImage /Assets/material/folder.svg}"
VerticalAlignment="Center"
Source="{SvgImage /Assets/material/folder.svg}" />
Width="20" />
<StackPanel
Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Orientation="Horizontal">
Orientation="Horizontal"
VerticalAlignment="Center">
<TextBlock
Margin="5,0,0,0"
VerticalAlignment="Center"
Text="{Binding FullName}" />
Text="{Binding FullName}"
VerticalAlignment="Center" />
<TextBlock
Margin="5,0,0,0"
VerticalAlignment="Center"
Classes="ExtraSmallText"
IsVisible="{Binding Label, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"
Text="{Binding Label}" />
Margin="5,0,0,0"
Text="{Binding Label}"
VerticalAlignment="Center" />
</StackPanel>
<StackPanel
Grid.Column="2"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Orientation="Horizontal">
Orientation="Horizontal"
VerticalAlignment="Center">
<TextBlock
VerticalAlignment="Center"
Classes="SmallText"
Text="{Binding Free, Converter={StaticResource FormatSizeConverter}, ConverterParameter=0}" />
Text="{Binding Free, Converter={StaticResource FormatSizeConverter}, ConverterParameter=0}"
VerticalAlignment="Center" />
<TextBlock
VerticalAlignment="Center"
Classes="SmallText"
Text=" / " />
Text=" / "
VerticalAlignment="Center" />
<TextBlock
VerticalAlignment="Center"
Classes="SmallText"
Text="{Binding Size, Converter={StaticResource FormatSizeConverter}, ConverterParameter=0}" />
Text="{Binding Size, Converter={StaticResource FormatSizeConverter}, ConverterParameter=0}"
VerticalAlignment="Center" />
</StackPanel>
<ProgressBar
Grid.Row="1"
Grid.Column="1"
Grid.ColumnSpan="2"
MinWidth="100"
Margin="5,0,0,0"
Grid.Row="1"
HorizontalAlignment="Stretch"
Margin="5,0,0,0"
Maximum="100"
MinWidth="100"
Value="{Binding UsedPercentage}" />
</Grid>
</Grid>
@@ -166,20 +148,16 @@
</Border>
<Border
Background="{DynamicResource ContainerBackgroundBrush}"
CornerRadius="10"
Grid.Row="1"
Margin="10"
Padding="0,10"
Background="{DynamicResource ContainerBackgroundBrush}"
CornerRadius="10">
Padding="0,10">
<Grid RowDefinitions="Auto,Auto">
<TextBlock
Margin="10,0,10,10"
Text="Places" />
<TextBlock Margin="10,0,10,10" Text="Places" />
<ItemsRepeater
Grid.Row="1"
ItemsSource="{Binding AppState.Places}">
<ItemsRepeater Grid.Row="1" ItemsSource="{Binding AppState.Places}">
<ItemsRepeater.ItemTemplate>
<DataTemplate x:DataType="vm:PlaceInfo">
<Grid
@@ -187,19 +165,19 @@
Cursor="Hand"
PointerPressed="OnHasContainerPointerPressed">
<StackPanel
Margin="10,5"
HorizontalAlignment="Stretch"
Margin="10,5"
Orientation="Horizontal">
<Image
Width="20"
Height="20"
Source="{Binding Container, Converter={StaticResource ItemToImageConverter}}"
VerticalAlignment="Center"
Source="{Binding Container, Converter={StaticResource ItemToImageConverter}}" />
Width="20" />
<TextBlock
Margin="5,0,0,0"
VerticalAlignment="Center"
Text="{Binding DisplayName}" />
Text="{Binding DisplayName}"
VerticalAlignment="Center" />
</StackPanel>
</Grid>
</DataTemplate>
@@ -275,8 +253,8 @@
</Grid>
<Grid
Grid.Row="1"
Grid.Column="1"
Grid.Row="1"
RowDefinitions="Auto,40,*,Auto">
<Grid>
@@ -289,18 +267,16 @@
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border
MaxHeight="200"
Margin="0,0,10,0"
Padding="5"
Background="{DynamicResource ContainerBackgroundColor}"
CornerRadius="10">
CornerRadius="10"
Margin="0,0,10,0"
MaxHeight="200"
Padding="5">
<ScrollViewer>
<ItemsControl ItemsSource="{Binding Commands.Collection}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border
BorderThickness="1"
Classes.SelectedTimelineCommand="{Binding IsSelected}">
<Border BorderThickness="1" Classes.SelectedTimelineCommand="{Binding IsSelected}">
<StackPanel>
<TextBlock Text="{Binding DisplayLabel^}" />
<ProgressBar
@@ -319,9 +295,7 @@
</ItemsControl>
</Grid>
<ItemsControl
Grid.Row="1"
ItemsSource="{Binding AppState.Tabs}">
<ItemsControl Grid.Row="1" ItemsSource="{Binding AppState.Tabs}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" />
@@ -330,42 +304,36 @@
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid RowDefinitions="Auto,1">
<StackPanel
Margin="20,0,20,0"
Orientation="Horizontal">
<StackPanel Margin="20,0,20,0" Orientation="Horizontal">
<TextBlock
VerticalAlignment="Center"
Text="{Binding TabNumber, StringFormat=({0})}" />
<TextBlock Text="{Binding TabNumber, StringFormat=({0})}" VerticalAlignment="Center" />
<TextBlock
Margin="5,0,0,0"
VerticalAlignment="Center"
Text="{Binding CurrentLocation^.Name, FallbackValue=Loading...}" />
Text="{Binding CurrentLocation^.Name, FallbackValue=Loading...}"
VerticalAlignment="Center" />
</StackPanel>
<Rectangle
Grid.Row="1"
Fill="{DynamicResource ForegroundBrush}"
Grid.Row="1"
IsVisible="{Binding IsSelected^}" />
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<Grid
Grid.Row="2"
Margin="20,0,0,0">
<Grid Grid.Row="2" Margin="20,0,0,0">
<Grid ColumnDefinitions="15*,10,40*,10,45*">
<ListBox
x:CompileBindings="False"
AutoScrollToSelectedItem="True"
Classes="ContentListView"
IsTabStop="True"
ItemsSource="{Binding AppState.SelectedTab^.ParentsChildrenCollection.Collection}"
ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.VerticalScrollBarVisibility="Visible">
ScrollViewer.VerticalScrollBarVisibility="Visible"
x:CompileBindings="False">
<ListBox.ItemTemplate>
<DataTemplate x:DataType="corevm:IItemViewModel">
<local:ItemView
@@ -377,22 +345,20 @@
</ListBox>
<Rectangle
Fill="{DynamicResource ContentSeparatorBrush}"
Grid.Column="1"
Width="1"
Margin="0,10,0,10"
HorizontalAlignment="Center"
Margin="0,10,0,10"
VerticalAlignment="Stretch"
Fill="{DynamicResource ContentSeparatorBrush}" />
Width="1" />
<Grid
Grid.Column="2"
RowDefinitions="Auto,*">
<Grid Grid.Column="2" RowDefinitions="Auto,*">
<Grid IsVisible="{Binding AppState.SelectedTab^.CurrentLocation^.IsLoading^, FallbackValue=False}">
<Image
Width="40"
Height="40"
Classes="LoadingAnimation"
Source="{SvgImage /Assets/loading.svg}">
Height="40"
Source="{SvgImage /Assets/loading.svg}"
Width="40">
<!-- https://github.com/AvaloniaUI/Avalonia/issues/8791 -->
<!-- Has to explicitly set RotateTransform or animation does not work -->
<Image.RenderTransform>
@@ -403,55 +369,53 @@
</Image>
</Grid>
<ListBox
x:Name="CurrentItems"
Grid.Row="1"
AutoScrollToSelectedItem="True"
Classes="ContentListView"
Grid.Row="1"
IsTabStop="True"
ItemsSource="{Binding AppState.SelectedTab^.CurrentItemsCollection.Collection}"
ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.VerticalScrollBarVisibility="Visible"
SelectedItem="{Binding AppState.SelectedTab^.CurrentSelectedItem^}">
SelectedItem="{Binding AppState.SelectedTab^.CurrentSelectedItem^}"
x:Name="CurrentItems">
<ListBox.ItemTemplate>
<DataTemplate x:DataType="corevm:IItemViewModel">
<local:ItemView
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch" />
<local:ItemView HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<TextBlock
x:Name="CurrentEmpty"
Grid.Row="1"
Margin="10"
HorizontalAlignment="Center"
x:CompileBindings="False"
FontWeight="Bold"
Foreground="{DynamicResource ErrorBrush}"
IsVisible="{Binding AppState.SelectedTab^.CurrentItemsCollection.Collection.Count, Converter={StaticResource EqualityConverter}, ConverterParameter=0}">
Grid.Row="1"
HorizontalAlignment="Center"
IsVisible="{Binding AppState.SelectedTab^.CurrentItemsCollection.Collection.Count, Converter={StaticResource EqualityConverter}, ConverterParameter=0}"
Margin="10"
x:CompileBindings="False"
x:Name="CurrentEmpty">
Empty
</TextBlock>
</Grid>
<Rectangle
Fill="{DynamicResource ContentSeparatorBrush}"
Grid.Column="3"
Width="1"
Margin="0,10,0,10"
HorizontalAlignment="Center"
Margin="0,10,0,10"
VerticalAlignment="Stretch"
Fill="{DynamicResource ContentSeparatorBrush}" />
Width="1" />
<Grid Grid.Column="4">
<Grid IsVisible="{Binding ItemPreviewService.ItemPreview^, Converter={x:Static ObjectConverters.IsNull}}">
<Grid IsVisible="{Binding AppState.SelectedTab^.SelectedsChildrenCollection.Collection, Converter={x:Static ObjectConverters.IsNotNull}, FallbackValue=False}">
<ListBox
x:Name="ChildItems"
x:CompileBindings="False"
AutoScrollToSelectedItem="True"
Classes="ContentListView"
IsVisible="{Binding AppState.SelectedTab^.SelectedsChildrenCollection.Collection.Count, Converter={StaticResource NotEqualsConverter}, ConverterParameter=0}"
ItemsSource="{Binding AppState.SelectedTab^.SelectedsChildrenCollection.Collection}">
ItemsSource="{Binding AppState.SelectedTab^.SelectedsChildrenCollection.Collection}"
x:CompileBindings="False"
x:Name="ChildItems">
<ListBox.ItemTemplate>
<DataTemplate x:DataType="corevm:IItemViewModel">
<local:ItemView />
@@ -460,35 +424,29 @@
</ListBox>
<TextBlock
x:Name="ChildEmpty"
Margin="10"
HorizontalAlignment="Center"
x:CompileBindings="False"
FontWeight="Bold"
Foreground="{DynamicResource ErrorBrush}"
IsVisible="{Binding AppState.SelectedTab^.SelectedsChildrenCollection.Collection.Count, Converter={StaticResource EqualityConverter}, ConverterParameter=0}">
HorizontalAlignment="Center"
IsVisible="{Binding AppState.SelectedTab^.SelectedsChildrenCollection.Collection.Count, Converter={StaticResource EqualityConverter}, ConverterParameter=0}"
Margin="10"
x:CompileBindings="False"
x:Name="ChildEmpty">
Empty
</TextBlock>
</Grid>
<Grid
IsVisible="{Binding AppState.SelectedTab^.SelectedsChildrenCollection, Converter={x:Static ObjectConverters.IsNull}, ConverterParameter=0, FallbackValue=False}"
RowDefinitions="Auto, Auto">
<Grid IsVisible="{Binding AppState.SelectedTab^.SelectedsChildrenCollection, Converter={x:Static ObjectConverters.IsNull}, ConverterParameter=0, FallbackValue=False}" RowDefinitions="Auto, Auto">
<TextBlock
Margin="0,0,0,10"
HorizontalAlignment="Center"
Foreground="{DynamicResource ErrorBrush}"
HorizontalAlignment="Center"
Margin="0,0,0,10"
Text="There were some errors while opening container."
TextWrapping="Wrap" />
<ItemsRepeater
Grid.Row="1"
ItemsSource="{Binding AppState.SelectedTab^.CurrentSelectedItem^.BaseItem.Exceptions^}">
<ItemsRepeater Grid.Row="1" ItemsSource="{Binding AppState.SelectedTab^.CurrentSelectedItem^.BaseItem.Exceptions^}">
<ItemsRepeater.ItemTemplate>
<DataTemplate>
<TextBlock
Margin="5,0,5,10"
Text="{Binding Converter={StaticResource ExceptionToStringConverter}}" />
<TextBlock Margin="5,0,5,10" Text="{Binding Converter={StaticResource ExceptionToStringConverter}}" />
</DataTemplate>
</ItemsRepeater.ItemTemplate>
</ItemsRepeater>
@@ -505,20 +463,20 @@
Text="Empty" />
<ScrollViewer IsVisible="{Binding ItemPreviewService.ItemPreview^.Mode, Converter={StaticResource EqualityConverter}, ConverterParameter={x:Static appCoreModels:ItemPreviewMode.Text}, FallbackValue={x:Static appCoreModels:ItemPreviewMode.Unknown}}">
<TextBox
x:CompileBindings="False"
IsReadOnly="True"
Text="{Binding ItemPreviewService.ItemPreview^.TextContent}" />
Text="{Binding ItemPreviewService.ItemPreview^.TextContent}"
x:CompileBindings="False" />
</ScrollViewer>
</Grid>
</Grid>
</Grid>
<ItemsRepeater
Margin="0,0,0,20"
HorizontalAlignment="Center"
VerticalAlignment="Top"
IsVisible="{Binding AppState.PopupTexts.Count, Converter={StaticResource NotEqualsConverter}, ConverterParameter=0}"
ItemsSource="{Binding AppState.PopupTexts}">
ItemsSource="{Binding AppState.PopupTexts}"
Margin="0,0,0,20"
VerticalAlignment="Top">
<ItemsRepeater.Styles>
<Style Selector="TextBlock">
<Style.Animations>
@@ -536,12 +494,12 @@
<ItemsRepeater.ItemTemplate>
<DataTemplate x:DataType="x:String">
<Border
Background="{DynamicResource ContainerGradientBackgroundBrush}"
Margin="5"
Padding="5"
Background="{DynamicResource ContainerGradientBackgroundBrush}">
Padding="5">
<TextBlock
HorizontalAlignment="Center"
Foreground="{DynamicResource AccentComplementBrush}"
HorizontalAlignment="Center"
Text="{Binding}" />
</Border>
</DataTemplate>
@@ -550,25 +508,21 @@
</Grid>
<Grid Grid.Row="3">
<Grid
IsVisible="{Binding AppState.ViewMode^, Converter={StaticResource EqualityConverter}, ConverterParameter=RapidTravel}"
RowDefinitions="1,Auto">
<Grid IsVisible="{Binding AppState.ViewMode^, Converter={StaticResource EqualityConverter}, ConverterParameter=RapidTravel}" RowDefinitions="1,Auto">
<Rectangle
Fill="{DynamicResource ContentSeparatorBrush}"
Height="1"
Margin="10,0"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Fill="{DynamicResource ContentSeparatorBrush}" />
Margin="10,0"
VerticalAlignment="Center" />
<StackPanel
Grid.Row="1"
Margin="30,10,10,10"
Orientation="Horizontal">
<TextBlock
Margin="0,0,30,0"
Text="Rapid travel mode" />
<TextBlock Margin="0,0,30,0" Text="Rapid travel mode" />
<TextBlock Text="Filter " />
@@ -583,15 +537,13 @@
</Grid.RowDefinitions>
<Rectangle
Fill="{DynamicResource ContentSeparatorBrush}"
Height="1"
Margin="10,0"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Fill="{DynamicResource ContentSeparatorBrush}" />
Margin="10,0"
VerticalAlignment="Center" />
<ItemsRepeater
Grid.Row="1"
ItemsSource="{Binding AppState.PossibleCommands}">
<ItemsRepeater Grid.Row="1" ItemsSource="{Binding AppState.PossibleCommands}">
<ItemsRepeater.ItemTemplate>
<DataTemplate x:DataType="config:CommandBindingConfiguration">
<Grid>
@@ -601,9 +553,7 @@
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding KeysDisplayText}" />
<TextBlock
Grid.Column="1"
Text="{Binding Command, Converter={StaticResource CommandToCommandNameConverter}}" />
<TextBlock Grid.Column="1" Text="{Binding Command, Converter={StaticResource CommandToCommandNameConverter}}" />
</Grid>
</DataTemplate>
</ItemsRepeater.ItemTemplate>
@@ -614,49 +564,47 @@
</Grid>
<Border
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Background="{DynamicResource BarelyTransparentBackgroundColor}"
IsVisible="{Binding DialogService.ReadInput^, Converter={x:Static ObjectConverters.IsNotNull}}">
HorizontalAlignment="Stretch"
IsVisible="{Binding DialogService.ReadInput^, Converter={x:Static ObjectConverters.IsNotNull}}"
VerticalAlignment="Stretch">
<Border
Padding="20"
Background="{DynamicResource ContainerBackgroundBrush}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Background="{DynamicResource ContainerBackgroundBrush}">
Padding="20"
VerticalAlignment="Center">
<Grid RowDefinitions="Auto,Auto">
<ItemsControl
x:Name="InputList"
ItemsSource="{Binding DialogService.ReadInput^.Inputs}">
<ItemsControl ItemsSource="{Binding DialogService.ReadInput^.Inputs}" x:Name="InputList">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid
x:Name="ItemRoot"
MinWidth="500"
ColumnDefinitions="250,*"
Margin="10,5"
ColumnDefinitions="250,*">
MinWidth="500"
x:Name="ItemRoot">
<TextBlock
HorizontalAlignment="Left"
VerticalAlignment="Top"
Text="{Binding Label}" />
Text="{Binding Label}"
VerticalAlignment="Top" />
<Grid Grid.Column="1">
<TextBox
VerticalAlignment="Top"
x:DataType="interactions:TextInputElement"
IsVisible="{Binding Type, Converter={StaticResource EqualityConverter}, ConverterParameter={x:Static interactions:InputType.Text}}"
Text="{Binding Value, Mode=TwoWay}" />
<TextBox
Text="{Binding Value, Mode=TwoWay}"
VerticalAlignment="Top"
x:DataType="interactions:PasswordInputElement"
x:DataType="interactions:TextInputElement" />
<TextBox
IsVisible="{Binding Type, Converter={StaticResource EqualityConverter}, ConverterParameter={x:Static interactions:InputType.Password}}"
PasswordChar="{Binding PasswordChar}"
Text="{Binding Value, Mode=TwoWay}" />
Text="{Binding Value, Mode=TwoWay}"
VerticalAlignment="Top"
x:DataType="interactions:PasswordInputElement" />
<ListBox
x:DataType="interactions:IOptionsInputElement"
Classes="RadioButtonListBox"
IsVisible="{Binding Type, Converter={StaticResource EqualityConverter}, ConverterParameter={x:Static interactions:InputType.Options}}"
ItemsSource="{Binding Options}"
SelectedItem="{Binding Value}" />
SelectedItem="{Binding Value}"
x:DataType="interactions:IOptionsInputElement" />
</Grid>
</Grid>
</DataTemplate>
@@ -668,32 +616,32 @@
Margin="0,10,0,0"
Orientation="Horizontal">
<Button
Width="80"
HorizontalContentAlignment="Center"
Command="{Binding ProcessCommand}"
Content="Ok" />
<Button
Width="80"
Margin="10,0,0,0"
Content="Ok"
HorizontalContentAlignment="Center"
Width="80" />
<Button
Command="{Binding CancelCommand}"
Content="Cancel" />
Content="Cancel"
HorizontalContentAlignment="Center"
Margin="10,0,0,0"
Width="80" />
</StackPanel>
</Grid>
</Border>
</Border>
<Border
Background="{DynamicResource BarelyTransparentBackgroundColor}"
DataContext="{Binding DialogService.LastMessageBox^}"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Background="{DynamicResource BarelyTransparentBackgroundColor}"
IsVisible="{Binding Converter={x:Static ObjectConverters.IsNotNull}, FallbackValue=False}">
IsVisible="{Binding Converter={x:Static ObjectConverters.IsNotNull}, FallbackValue=False}"
VerticalAlignment="Stretch">
<Border
Padding="20"
Background="{DynamicResource ContainerBackgroundBrush}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Background="{DynamicResource ContainerBackgroundBrush}">
Padding="20"
VerticalAlignment="Center">
<Grid RowDefinitions="Auto,Auto">
<TextBlock Text="{Binding Text}" />
@@ -702,44 +650,53 @@
Margin="0,10,0,0"
Orientation="Horizontal">
<Button
Width="80"
HorizontalContentAlignment="Center"
Command="{Binding OkCommand}"
Content="Yes" />
<Button
Width="80"
Margin="10,0,0,0"
Content="Yes"
HorizontalContentAlignment="Center"
Width="80" />
<Button
Command="{Binding CancelCommand}"
Content="No" />
Content="No"
HorizontalContentAlignment="Center"
Margin="10,0,0,0"
Width="80" />
</StackPanel>
</Grid>
</Border>
</Border>
<Border
Background="{DynamicResource BarelyTransparentBackgroundColor}"
DataContext="{Binding FrequencyNavigationService.CurrentModal}"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Background="{DynamicResource BarelyTransparentBackgroundColor}"
IsVisible="{Binding ShowWindow^, FallbackValue=False}">
IsVisible="{Binding ShowWindow^, FallbackValue=False}"
VerticalAlignment="Stretch">
<Grid Margin="100">
<local:FrequencyNavigation />
</Grid>
</Border>
<Border
Background="{DynamicResource BarelyTransparentBackgroundColor}"
DataContext="{Binding CommandPaletteService.CurrentModal}"
HorizontalAlignment="Stretch"
IsVisible="{Binding ShowWindow^, FallbackValue=False}"
VerticalAlignment="Stretch">
<Grid Margin="100">
<local:CommandPalette />
</Grid>
</Border>
</Grid>
<Grid IsVisible="{Binding Loading}">
<StackPanel
HorizontalAlignment="Center"
VerticalAlignment="Center">
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
<Image
Width="128"
Height="128"
Source="/Assets/filetime.ico" />
Source="/Assets/filetime.ico"
Width="128" />
<TextBlock
Margin="50"
HorizontalAlignment="Center"
Margin="50"
Text="Loading..." />
</StackPanel>
</Grid>