UI cleanup
This commit is contained in:
@@ -7,116 +7,169 @@
|
||||
Header="{Binding Key}"
|
||||
IsExpanded="False">
|
||||
<SettingsExpander.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.ThemeDictionaries>
|
||||
<ResourceDictionary x:Key="Light">
|
||||
<StaticResource x:Key="DatePickerButtonBorderBrush" ResourceKey="ControlStrokeColorDefaultBrush" />
|
||||
<StaticResource x:Key="DatePickerButtonBorderBrushPointerOver" ResourceKey="ControlStrokeColorDefaultBrush" />
|
||||
</ResourceDictionary>
|
||||
<ResourceDictionary x:Key="Dark">
|
||||
<StaticResource x:Key="DatePickerButtonBorderBrush" ResourceKey="SubtleFillColorTransparentBrush" />
|
||||
<StaticResource x:Key="DatePickerButtonBorderBrushPointerOver" ResourceKey="SubtleFillColorTransparentBrush" />
|
||||
</ResourceDictionary>
|
||||
</ResourceDictionary.ThemeDictionaries>
|
||||
</ResourceDictionary>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.ThemeDictionaries>
|
||||
<ResourceDictionary x:Key="Light">
|
||||
<StaticResource x:Key="DatePickerButtonBorderBrush" ResourceKey="ControlStrokeColorDefaultBrush" />
|
||||
<StaticResource x:Key="DatePickerButtonBorderBrushPointerOver" ResourceKey="ControlStrokeColorDefaultBrush" />
|
||||
</ResourceDictionary>
|
||||
<ResourceDictionary x:Key="Dark">
|
||||
<StaticResource x:Key="DatePickerButtonBorderBrush" ResourceKey="SubtleFillColorTransparentBrush" />
|
||||
<StaticResource x:Key="DatePickerButtonBorderBrushPointerOver" ResourceKey="SubtleFillColorTransparentBrush" />
|
||||
</ResourceDictionary>
|
||||
</ResourceDictionary.ThemeDictionaries>
|
||||
</ResourceDictionary>
|
||||
<Thickness x:Key="ButtonMargin">0,0,12,0</Thickness>
|
||||
<Thickness x:Key="ButtonPadding">0</Thickness>
|
||||
<x:Double x:Key="ButtonMinWidth">32</x:Double>
|
||||
<x:Double x:Key="ButtonMinHeight">32</x:Double>
|
||||
<Thickness x:Key="TextControlMargin">0</Thickness>
|
||||
<Thickness x:Key="TextControlPadding">10,6,6,5</Thickness>
|
||||
<Thickness x:Key="TextControlCompactPadding">0</Thickness>
|
||||
<Thickness x:Key="TextControlCompactMargin">0</Thickness>
|
||||
<Thickness x:Key="DatePickerHostPadding">0,5,0,6</Thickness>
|
||||
<Thickness x:Key="DatePickerHostMonthPadding">9,5,0,6</Thickness>
|
||||
</SettingsExpander.Resources>
|
||||
<SettingsExpander.Styles>
|
||||
<Style Selector="SettingsExpander.Write">
|
||||
<Style Selector="^ /template/ SettingsExpanderItem#ContentHost">
|
||||
<Style Selector="^ /template/ ContentPresenter#FooterPresenter">
|
||||
<Setter Property="MinWidth" Value="{Binding Width}" />
|
||||
</Style>
|
||||
<Style Selector="^:footerBottom /template/ ContentPresenter#FooterPresenter">
|
||||
<Setter Property="HorizontalAlignment" Value="Stretch" />
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="^ DatePicker">
|
||||
<Setter Property="MaxWidth" Value="{Binding Width}" />
|
||||
<Setter Property="MinWidth" Value="{Binding Width}" />
|
||||
<Setter Property="IsVisible" Value="True" />
|
||||
<Setter Property="Height" Value="32" />
|
||||
</Style>
|
||||
<Style Selector="^ TextBox">
|
||||
<Setter Property="IsVisible" Value="False" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="SettingsExpander.Read">
|
||||
<Style Selector="^ /template/ SettingsExpanderItem#ContentHost">
|
||||
<Style Selector="^ /template/ ContentPresenter#FooterPresenter">
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
</Style>
|
||||
<Style Selector="^:footerBottom /template/ ContentPresenter#FooterPresenter">
|
||||
<Setter Property="HorizontalAlignment" Value="Stretch" />
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="^ TextBox">
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
<Setter Property="IsReadOnly" Value="True" />
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
<Setter Property="BorderThickness" Value="0" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="Margin" Value="{StaticResource TextControlCompactMargin}" />
|
||||
<Setter Property="Padding" Value="{StaticResource TextControlCompactPadding}" />
|
||||
<Setter Property="MinHeight" Value="0" />
|
||||
<Setter Property="TextWrapping" Value="NoWrap" />
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^:pointerover">
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^ /template/ Border#PART_BorderElement">
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="^:focus">
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^ /template/ Border#PART_BorderElement">
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
</Style>
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="^ DatePicker">
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
<Setter Property="MinHeight" Value="0" />
|
||||
<Setter Property="IsVisible" Value="False" />
|
||||
</Style>
|
||||
</Style>
|
||||
</SettingsExpander.Styles>
|
||||
<Interaction.Behaviors>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Read}">
|
||||
<AddClassAction ClassName="Read" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Write" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.New}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Write}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
</DataTriggerBehavior>
|
||||
</Interaction.Behaviors>
|
||||
<SettingsExpander.Icon>
|
||||
<Button
|
||||
Grid.Column="1"
|
||||
MinWidth="{StaticResource ButtonMinWidth}"
|
||||
MinHeight="{StaticResource ButtonMinHeight}"
|
||||
Margin="{StaticResource ButtonMargin}"
|
||||
Padding="{StaticResource ButtonPadding}"
|
||||
HorizontalContentAlignment="Center"
|
||||
VerticalContentAlignment="Center"
|
||||
Command="{Binding RemoveCommand}"
|
||||
Theme="{StaticResource TransparentButton}">
|
||||
<Viewbox Height="20">
|
||||
<TextBlock
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
FontFamily="{StaticResource FluentThemeFontFamily}"
|
||||
FontSize="16"
|
||||
Text="" />
|
||||
</Viewbox>
|
||||
<Button.Styles>
|
||||
<Style Selector="Button.Hide">
|
||||
<Setter Property="IsVisible" Value="True" />
|
||||
</Style>
|
||||
<Style Selector="Button.Show">
|
||||
<Setter Property="IsVisible" Value="False" />
|
||||
</Style>
|
||||
</Button.Styles>
|
||||
<Interaction.Behaviors>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Read}">
|
||||
<AddClassAction ClassName="Show" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Hide" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.New}">
|
||||
<AddClassAction ClassName="Hide" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Show" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Write}">
|
||||
<AddClassAction ClassName="Hide" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Show" />
|
||||
</DataTriggerBehavior>
|
||||
</Interaction.Behaviors>
|
||||
</Button>
|
||||
</SettingsExpander.Icon>
|
||||
<SettingsExpander.Action>
|
||||
<ItemEntryActionView />
|
||||
</SettingsExpander.Action>
|
||||
<SettingsExpander.Footer>
|
||||
<Grid>
|
||||
<DatePicker SelectedDate="{Binding Value}">
|
||||
<DatePicker.Styles>
|
||||
<Style Selector="DatePicker.Write">
|
||||
<Setter Property="MaxWidth" Value="{Binding Width}" />
|
||||
<Setter Property="MinWidth" Value="{Binding Width}" />
|
||||
<Setter Property="IsVisible" Value="True" />
|
||||
<Setter Property="Height" Value="32" />
|
||||
</Style>
|
||||
<Style Selector="DatePicker.Read">
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
<Setter Property="MinHeight" Value="0" />
|
||||
<Setter Property="IsVisible" Value="False" />
|
||||
</Style>
|
||||
</DatePicker.Styles>
|
||||
<Interaction.Behaviors>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Read}">
|
||||
<AddClassAction ClassName="Read" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Write" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.New}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Write}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
</DataTriggerBehavior>
|
||||
</Interaction.Behaviors>
|
||||
</DatePicker>
|
||||
<TextBox Text="{Binding Value, StringFormat=d}">
|
||||
<TextBox.Styles>
|
||||
<Style Selector="TextBox.Write">
|
||||
<Setter Property="IsVisible" Value="False" />
|
||||
</Style>
|
||||
<Style Selector="TextBox.Read">
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
<Setter Property="IsReadOnly" Value="True" />
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="IsVisible" Value="True" />
|
||||
<Setter Property="Margin" Value="{StaticResource TextControlCompactMargin}" />
|
||||
<Setter Property="Padding" Value="{StaticResource TextControlCompactPadding}" />
|
||||
<Setter Property="MinHeight" Value="0" />
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^:pointerover">
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^ /template/ Border#PART_BorderElement">
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="^:focus">
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^ /template/ Border#PART_BorderElement">
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
</Style>
|
||||
</Style>
|
||||
</Style>
|
||||
</TextBox.Styles>
|
||||
<Interaction.Behaviors>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Read}">
|
||||
<AddClassAction ClassName="Read" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Write" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.New}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Write}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
</DataTriggerBehavior>
|
||||
</Interaction.Behaviors>
|
||||
</TextBox>
|
||||
<DatePicker SelectedDate="{Binding Value}" />
|
||||
<TextBox Text="{Binding Value, StringFormat=d}" />
|
||||
</Grid>
|
||||
</SettingsExpander.Footer>
|
||||
</SettingsExpander>
|
||||
|
||||
@@ -19,11 +19,149 @@
|
||||
</ResourceDictionary>
|
||||
</ResourceDictionary.ThemeDictionaries>
|
||||
</ResourceDictionary>
|
||||
<Thickness x:Key="ButtonMargin">0,0,12,0</Thickness>
|
||||
<Thickness x:Key="ButtonPadding">0</Thickness>
|
||||
<x:Double x:Key="ButtonMinWidth">32</x:Double>
|
||||
<x:Double x:Key="ButtonMinHeight">32</x:Double>
|
||||
<Thickness x:Key="TextControlMargin">0</Thickness>
|
||||
<Thickness x:Key="TextControlPadding">10,5,6,6</Thickness>
|
||||
<Thickness x:Key="TextControlCompactPadding">0</Thickness>
|
||||
<Thickness x:Key="TextControlCompactMargin">0</Thickness>
|
||||
<Thickness x:Key="ComboBoxPadding">10,6,6,5</Thickness>
|
||||
</SettingsExpander.Resources>
|
||||
<SettingsExpander.Styles>
|
||||
<Style Selector="SettingsExpander.Write">
|
||||
<Style Selector="^ /template/ SettingsExpanderItem#ContentHost">
|
||||
<Style Selector="^ /template/ ContentPresenter#FooterPresenter">
|
||||
<Setter Property="MinWidth" Value="{Binding Width}" />
|
||||
</Style>
|
||||
<Style Selector="^:footerBottom /template/ ContentPresenter#FooterPresenter">
|
||||
<Setter Property="HorizontalAlignment" Value="Stretch" />
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="^ TextBox">
|
||||
<Setter Property="IsVisible" Value="False" />
|
||||
<Setter Property="Margin" Value="{StaticResource TextControlMargin}" />
|
||||
<Setter Property="Padding" Value="{StaticResource TextControlPadding}" />
|
||||
</Style>
|
||||
<Style Selector="^ ComboBox">
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
<Setter Property="HorizontalAlignment" Value="Stretch" />
|
||||
<Setter Property="IsVisible" Value="True" />
|
||||
<Setter Property="Height" Value="32" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="SettingsExpander.Read">
|
||||
<Style Selector="^ /template/ SettingsExpanderItem#ContentHost">
|
||||
<Style Selector="^ /template/ ContentPresenter#FooterPresenter">
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
</Style>
|
||||
<Style Selector="^:footerBottom /template/ ContentPresenter#FooterPresenter">
|
||||
<Setter Property="HorizontalAlignment" Value="Stretch" />
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="^ TextBox">
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
<Setter Property="IsReadOnly" Value="True" />
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="IsVisible" Value="True" />
|
||||
<Setter Property="Margin" Value="{StaticResource TextControlCompactMargin}" />
|
||||
<Setter Property="Padding" Value="{StaticResource TextControlCompactPadding}" />
|
||||
<Setter Property="MinHeight" Value="0" />
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^:pointerover">
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^ /template/ Border#PART_BorderElement">
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="^:focus">
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^ /template/ Border#PART_BorderElement">
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
</Style>
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="^ ComboBox">
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
<Setter Property="IsVisible" Value="False" />
|
||||
</Style>
|
||||
</Style>
|
||||
</SettingsExpander.Styles>
|
||||
<Interaction.Behaviors>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Read}">
|
||||
<AddClassAction ClassName="Read" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Write" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.New}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Write}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
</DataTriggerBehavior>
|
||||
</Interaction.Behaviors>
|
||||
<SettingsExpander.Icon>
|
||||
<Button
|
||||
Grid.Column="1"
|
||||
MinWidth="{StaticResource ButtonMinWidth}"
|
||||
MinHeight="{StaticResource ButtonMinHeight}"
|
||||
Margin="{StaticResource ButtonMargin}"
|
||||
Padding="{StaticResource ButtonPadding}"
|
||||
HorizontalContentAlignment="Center"
|
||||
VerticalContentAlignment="Center"
|
||||
Command="{Binding RemoveCommand}"
|
||||
Theme="{StaticResource TransparentButton}">
|
||||
<Viewbox Height="20">
|
||||
<TextBlock
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
FontFamily="{StaticResource FluentThemeFontFamily}"
|
||||
FontSize="16"
|
||||
Text="" />
|
||||
</Viewbox>
|
||||
<Button.Styles>
|
||||
<Style Selector="Button.Hide">
|
||||
<Setter Property="IsVisible" Value="True" />
|
||||
</Style>
|
||||
<Style Selector="Button.Show">
|
||||
<Setter Property="IsVisible" Value="False" />
|
||||
</Style>
|
||||
</Button.Styles>
|
||||
<Interaction.Behaviors>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Read}">
|
||||
<AddClassAction ClassName="Show" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Hide" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.New}">
|
||||
<AddClassAction ClassName="Hide" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Show" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Write}">
|
||||
<AddClassAction ClassName="Hide" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Show" />
|
||||
</DataTriggerBehavior>
|
||||
</Interaction.Behaviors>
|
||||
</Button>
|
||||
</SettingsExpander.Icon>
|
||||
<SettingsExpander.Action>
|
||||
<ItemEntryActionView />
|
||||
</SettingsExpander.Action>
|
||||
@@ -34,93 +172,8 @@
|
||||
ItemsSource="{Binding}"
|
||||
SelectedItem="{Binding SelectedItem}"
|
||||
SelectedValue="{Binding Value}"
|
||||
SelectedValueBinding="{ReflectionBinding Value}">
|
||||
<ComboBox.Styles>
|
||||
<Style Selector="ComboBox.Write">
|
||||
<Setter Property="MaxWidth" Value="{Binding Width}" />
|
||||
<Setter Property="MinWidth" Value="{Binding Width}" />
|
||||
<Setter Property="IsVisible" Value="True" />
|
||||
</Style>
|
||||
<Style Selector="ComboBox.Read">
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
<Setter Property="IsVisible" Value="False" />
|
||||
</Style>
|
||||
</ComboBox.Styles>
|
||||
<Interaction.Behaviors>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Read}">
|
||||
<AddClassAction ClassName="Read" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Write" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.New}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Write}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
</DataTriggerBehavior>
|
||||
</Interaction.Behaviors>
|
||||
</ComboBox>
|
||||
<TextBox Text="{Binding Value}">
|
||||
<TextBox.Styles>
|
||||
<Style Selector="TextBox.Write">
|
||||
<Setter Property="IsVisible" Value="False" />
|
||||
<Setter Property="Margin" Value="{StaticResource TextControlMargin}" />
|
||||
<Setter Property="Padding" Value="{StaticResource TextControlPadding}" />
|
||||
</Style>
|
||||
<Style Selector="TextBox.Read">
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
<Setter Property="IsReadOnly" Value="True" />
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="IsVisible" Value="True" />
|
||||
<Setter Property="Margin" Value="{StaticResource TextControlCompactMargin}" />
|
||||
<Setter Property="Padding" Value="{StaticResource TextControlCompactPadding}" />
|
||||
<Setter Property="MinHeight" Value="0" />
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^:pointerover">
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^ /template/ Border#PART_BorderElement">
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="^:focus">
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^ /template/ Border#PART_BorderElement">
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
</Style>
|
||||
</Style>
|
||||
</Style>
|
||||
</TextBox.Styles>
|
||||
<Interaction.Behaviors>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Read}">
|
||||
<AddClassAction ClassName="Read" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Write" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.New}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Write}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
</DataTriggerBehavior>
|
||||
</Interaction.Behaviors>
|
||||
</TextBox>
|
||||
SelectedValueBinding="{ReflectionBinding Value}" />
|
||||
<TextBox Text="{Binding Value}" />
|
||||
</Grid>
|
||||
</SettingsExpander.Footer>
|
||||
</SettingsExpander>
|
||||
@@ -19,49 +19,154 @@
|
||||
</ResourceDictionary>
|
||||
</ResourceDictionary.ThemeDictionaries>
|
||||
</ResourceDictionary>
|
||||
<Thickness x:Key="ButtonMargin">0,0,12,0</Thickness>
|
||||
<Thickness x:Key="ButtonPadding">0</Thickness>
|
||||
<x:Double x:Key="ButtonMinWidth">32</x:Double>
|
||||
<x:Double x:Key="ButtonMinHeight">32</x:Double>
|
||||
<Thickness x:Key="TextControlMargin">0</Thickness>
|
||||
<Thickness x:Key="TextControlPadding">10,5,6,6</Thickness>
|
||||
<Thickness x:Key="TextControlPadding">10,6,6,5</Thickness>
|
||||
<Thickness x:Key="TextControlCompactPadding">0</Thickness>
|
||||
<Thickness x:Key="TextControlCompactMargin">0</Thickness>
|
||||
<BooleanToPasswordCharConverter x:Key="BooleanToPasswordCharConverter" PasswordChar="●" />
|
||||
</SettingsExpander.Resources>
|
||||
<SettingsExpander.Styles>
|
||||
<Style Selector="SettingsExpander.Write">
|
||||
<Style Selector="^ /template/ SettingsExpanderItem#ContentHost">
|
||||
<Style Selector="^ /template/ ContentPresenter#FooterPresenter">
|
||||
<Setter Property="MinWidth" Value="{Binding Width}" />
|
||||
</Style>
|
||||
<Style Selector="^:footerBottom /template/ ContentPresenter#FooterPresenter">
|
||||
<Setter Property="HorizontalAlignment" Value="Stretch" />
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="^ TextBox">
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
<Setter Property="Margin" Value="{StaticResource TextControlMargin}" />
|
||||
<Setter Property="Padding" Value="{StaticResource TextControlPadding}" />
|
||||
<Setter Property="TextWrapping" Value="NoWrap" />
|
||||
</Style>
|
||||
<Style Selector="^ HyperlinkButton">
|
||||
<Setter Property="IsVisible" Value="False" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="SettingsExpander.Read">
|
||||
<Style Selector="^ /template/ SettingsExpanderItem#ContentHost">
|
||||
<Style Selector="^ /template/ ContentPresenter#FooterPresenter">
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
</Style>
|
||||
<Style Selector="^:footerBottom /template/ ContentPresenter#FooterPresenter">
|
||||
<Setter Property="HorizontalAlignment" Value="Stretch" />
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="^ TextBox">
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
<Setter Property="IsReadOnly" Value="True" />
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
<Setter Property="BorderThickness" Value="0" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="Margin" Value="{StaticResource TextControlCompactMargin}" />
|
||||
<Setter Property="Padding" Value="{StaticResource TextControlCompactPadding}" />
|
||||
<Setter Property="MinHeight" Value="0" />
|
||||
<Setter Property="TextWrapping" Value="NoWrap" />
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^:pointerover">
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^ /template/ Border#PART_BorderElement">
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="^:focus">
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^ /template/ Border#PART_BorderElement">
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
</Style>
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="^ HyperlinkButton">
|
||||
<Setter Property="IsVisible" Value="True" />
|
||||
<Setter Property="Margin" Value="{StaticResource TextControlCompactMargin}" />
|
||||
</Style>
|
||||
</Style>
|
||||
</SettingsExpander.Styles>
|
||||
<Interaction.Behaviors>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Read}">
|
||||
<AddClassAction ClassName="Read" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Write" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.New}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Write}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
</DataTriggerBehavior>
|
||||
</Interaction.Behaviors>
|
||||
<SettingsExpander.Icon>
|
||||
<Button
|
||||
Grid.Column="1"
|
||||
MinWidth="{StaticResource ButtonMinWidth}"
|
||||
MinHeight="{StaticResource ButtonMinHeight}"
|
||||
Margin="{StaticResource ButtonMargin}"
|
||||
Padding="{StaticResource ButtonPadding}"
|
||||
HorizontalContentAlignment="Center"
|
||||
VerticalContentAlignment="Center"
|
||||
Command="{Binding RemoveCommand}"
|
||||
Theme="{StaticResource TransparentButton}">
|
||||
<Viewbox Height="20">
|
||||
<TextBlock
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
FontFamily="{StaticResource FluentThemeFontFamily}"
|
||||
FontSize="16"
|
||||
Text="" />
|
||||
</Viewbox>
|
||||
<Button.Styles>
|
||||
<Style Selector="Button.Hide">
|
||||
<Setter Property="IsVisible" Value="True" />
|
||||
</Style>
|
||||
<Style Selector="Button.Show">
|
||||
<Setter Property="IsVisible" Value="False" />
|
||||
</Style>
|
||||
</Button.Styles>
|
||||
<Interaction.Behaviors>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Read}">
|
||||
<AddClassAction ClassName="Show" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Hide" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.New}">
|
||||
<AddClassAction ClassName="Hide" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Show" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Write}">
|
||||
<AddClassAction ClassName="Hide" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Show" />
|
||||
</DataTriggerBehavior>
|
||||
</Interaction.Behaviors>
|
||||
</Button>
|
||||
</SettingsExpander.Icon>
|
||||
<SettingsExpander.Action>
|
||||
<ItemEntryActionView />
|
||||
</SettingsExpander.Action>
|
||||
<SettingsExpander.Footer>
|
||||
<Grid>
|
||||
<TextBox Classes="clearButton" Text="{Binding Value}">
|
||||
<TextBox.Styles>
|
||||
<Style Selector="TextBox.Write">
|
||||
<Setter Property="MaxWidth" Value="{Binding Width}" />
|
||||
<Setter Property="MinWidth" Value="{Binding Width}" />
|
||||
<Setter Property="IsVisible" Value="True" />
|
||||
</Style>
|
||||
<Style Selector="TextBox.Read">
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
<Setter Property="IsReadOnly" Value="True" />
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="IsVisible" Value="False" />
|
||||
<Setter Property="Margin" Value="{StaticResource TextControlCompactMargin}" />
|
||||
<Setter Property="Padding" Value="{StaticResource TextControlCompactPadding}" />
|
||||
<Setter Property="MinHeight" Value="0" />
|
||||
</Style>
|
||||
</TextBox.Styles>
|
||||
<Interaction.Behaviors>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Read}">
|
||||
<AddClassAction ClassName="Read" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Write" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.New}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Write}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
</DataTriggerBehavior>
|
||||
</Interaction.Behaviors>
|
||||
</TextBox>
|
||||
<TextBox Classes="clearButton" Text="{Binding Value}" />
|
||||
<HyperlinkButton
|
||||
Padding="0"
|
||||
Command="{Binding InvokeCommand}"
|
||||
@@ -75,20 +180,6 @@
|
||||
<Setter Property="Margin" Value="{StaticResource TextControlCompactMargin}" />
|
||||
</Style>
|
||||
</HyperlinkButton.Styles>
|
||||
<Interaction.Behaviors>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Read}">
|
||||
<AddClassAction ClassName="Read" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Write" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.New}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Write}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
</DataTriggerBehavior>
|
||||
</Interaction.Behaviors>
|
||||
</HyperlinkButton>
|
||||
</Grid>
|
||||
</SettingsExpander.Footer>
|
||||
|
||||
@@ -8,6 +8,25 @@
|
||||
<ItemsControl.Styles>
|
||||
<Style Selector="ContentPresenter">
|
||||
<Setter Property="IsTabStop" Value="False" />
|
||||
<Setter Property="(Interaction.Behaviors)">
|
||||
<BehaviorCollectionTemplate>
|
||||
<BehaviorCollection>
|
||||
<ItemDragBehavior
|
||||
HorizontalDragThreshold="3"
|
||||
Orientation="Vertical"
|
||||
VerticalDragThreshold="3" />
|
||||
</BehaviorCollection>
|
||||
</BehaviorCollectionTemplate>
|
||||
</Setter>
|
||||
</Style>
|
||||
<Style Selector="ContentPresenter:not(:dragging)">
|
||||
<Setter Property="Transitions">
|
||||
<Setter.Value>
|
||||
<Transitions>
|
||||
<TransformOperationsTransition Property="RenderTransform" Duration="0:0:0.1" />
|
||||
</Transitions>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</ItemsControl.Styles>
|
||||
<ItemsControl.ItemsPanel>
|
||||
|
||||
@@ -19,76 +19,145 @@
|
||||
</ResourceDictionary>
|
||||
</ResourceDictionary.ThemeDictionaries>
|
||||
</ResourceDictionary>
|
||||
<Thickness x:Key="ButtonMargin">0,0,12,0</Thickness>
|
||||
<Thickness x:Key="ButtonPadding">0</Thickness>
|
||||
<x:Double x:Key="ButtonMinWidth">32</x:Double>
|
||||
<x:Double x:Key="ButtonMinHeight">32</x:Double>
|
||||
<Thickness x:Key="TextControlMargin">0</Thickness>
|
||||
<Thickness x:Key="TextControlPadding">10,5,6,6</Thickness>
|
||||
<Thickness x:Key="TextControlPadding">10,6,6,5</Thickness>
|
||||
<Thickness x:Key="TextControlCompactPadding">0</Thickness>
|
||||
<Thickness x:Key="TextControlCompactMargin">0</Thickness>
|
||||
<BooleanToPasswordCharConverter x:Key="BooleanToPasswordCharConverter" PasswordChar="●" />
|
||||
</SettingsExpander.Resources>
|
||||
<SettingsExpander.Action>
|
||||
<ItemEntryActionView />
|
||||
</SettingsExpander.Action>
|
||||
<SettingsExpander.Footer>
|
||||
<MaskedTextBox Mask="{Binding Pattern}" Text="{Binding Value}">
|
||||
<TextBox.Styles>
|
||||
<Style Selector="TextBox.Write">
|
||||
<Setter Property="MaxWidth" Value="{Binding Width}" />
|
||||
<SettingsExpander.Styles>
|
||||
<Style Selector="SettingsExpander.Write">
|
||||
<Style Selector="^ /template/ SettingsExpanderItem#ContentHost">
|
||||
<Style Selector="^ /template/ ContentPresenter#FooterPresenter">
|
||||
<Setter Property="MinWidth" Value="{Binding Width}" />
|
||||
<Setter Property="Margin" Value="{StaticResource TextControlMargin}" />
|
||||
<Setter Property="Padding" Value="{StaticResource TextControlPadding}" />
|
||||
<Setter Property="TextWrapping" Value="NoWrap" />
|
||||
</Style>
|
||||
<Style Selector="TextBox.Read">
|
||||
<Style Selector="^:footerBottom /template/ ContentPresenter#FooterPresenter">
|
||||
<Setter Property="HorizontalAlignment" Value="Stretch" />
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
<Setter Property="IsReadOnly" Value="True" />
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="Margin" Value="{StaticResource TextControlCompactMargin}" />
|
||||
<Setter Property="Padding" Value="{StaticResource TextControlCompactPadding}" />
|
||||
<Setter Property="MinHeight" Value="0" />
|
||||
<Setter Property="TextWrapping" Value="NoWrap" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="^ TextBox">
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
<Setter Property="Margin" Value="{StaticResource TextControlMargin}" />
|
||||
<Setter Property="Padding" Value="{StaticResource TextControlPadding}" />
|
||||
<Setter Property="TextWrapping" Value="NoWrap" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="SettingsExpander.Read">
|
||||
<Style Selector="^ /template/ SettingsExpanderItem#ContentHost">
|
||||
<Style Selector="^ /template/ ContentPresenter#FooterPresenter">
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
</Style>
|
||||
<Style Selector="^:footerBottom /template/ ContentPresenter#FooterPresenter">
|
||||
<Setter Property="HorizontalAlignment" Value="Stretch" />
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="^ TextBox">
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
<Setter Property="IsReadOnly" Value="True" />
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
<Setter Property="BorderThickness" Value="0" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="Margin" Value="{StaticResource TextControlCompactMargin}" />
|
||||
<Setter Property="Padding" Value="{StaticResource TextControlCompactPadding}" />
|
||||
<Setter Property="MinHeight" Value="0" />
|
||||
<Setter Property="TextWrapping" Value="NoWrap" />
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^:pointerover">
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^:pointerover">
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^ /template/ Border#PART_BorderElement">
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="^:focus">
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^ /template/ Border#PART_BorderElement">
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
</Style>
|
||||
<Style Selector="^ /template/ Border#PART_BorderElement">
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
</Style>
|
||||
</Style>
|
||||
</TextBox.Styles>
|
||||
<Style Selector="^:focus">
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^ /template/ Border#PART_BorderElement">
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
</Style>
|
||||
</Style>
|
||||
</Style>
|
||||
</Style>
|
||||
</SettingsExpander.Styles>
|
||||
<Interaction.Behaviors>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Read}">
|
||||
<AddClassAction ClassName="Read" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Write" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.New}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Write}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
</DataTriggerBehavior>
|
||||
</Interaction.Behaviors>
|
||||
<SettingsExpander.Icon>
|
||||
<Button
|
||||
Grid.Column="1"
|
||||
MinWidth="{StaticResource ButtonMinWidth}"
|
||||
MinHeight="{StaticResource ButtonMinHeight}"
|
||||
Margin="{StaticResource ButtonMargin}"
|
||||
Padding="{StaticResource ButtonPadding}"
|
||||
HorizontalContentAlignment="Center"
|
||||
VerticalContentAlignment="Center"
|
||||
Command="{Binding RemoveCommand}"
|
||||
Theme="{StaticResource TransparentButton}">
|
||||
<Viewbox Height="20">
|
||||
<TextBlock
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
FontFamily="{StaticResource FluentThemeFontFamily}"
|
||||
FontSize="16"
|
||||
Text="" />
|
||||
</Viewbox>
|
||||
<Button.Styles>
|
||||
<Style Selector="Button.Hide">
|
||||
<Setter Property="IsVisible" Value="True" />
|
||||
</Style>
|
||||
<Style Selector="Button.Show">
|
||||
<Setter Property="IsVisible" Value="False" />
|
||||
</Style>
|
||||
</Button.Styles>
|
||||
<Interaction.Behaviors>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Read}">
|
||||
<AddClassAction ClassName="Read" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Write" />
|
||||
<AddClassAction ClassName="Show" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Hide" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.New}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
<AddClassAction ClassName="Hide" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Show" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Write}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
<AddClassAction ClassName="Hide" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Show" />
|
||||
</DataTriggerBehavior>
|
||||
</Interaction.Behaviors>
|
||||
</MaskedTextBox>
|
||||
</Button>
|
||||
</SettingsExpander.Icon>
|
||||
<SettingsExpander.Action>
|
||||
<ItemEntryActionView />
|
||||
</SettingsExpander.Action>
|
||||
<SettingsExpander.Footer>
|
||||
<MaskedTextBox Mask="{Binding Pattern}" Text="{Binding Value}" />
|
||||
</SettingsExpander.Footer>
|
||||
</SettingsExpander>
|
||||
@@ -20,12 +20,141 @@
|
||||
</ResourceDictionary>
|
||||
</ResourceDictionary.ThemeDictionaries>
|
||||
</ResourceDictionary>
|
||||
<Thickness x:Key="ButtonMargin">0,0,12,0</Thickness>
|
||||
<Thickness x:Key="ButtonPadding">0</Thickness>
|
||||
<x:Double x:Key="ButtonMinWidth">32</x:Double>
|
||||
<x:Double x:Key="ButtonMinHeight">32</x:Double>
|
||||
<Thickness x:Key="TextControlMargin">0</Thickness>
|
||||
<Thickness x:Key="TextControlPadding">10,6,6,5</Thickness>
|
||||
<Thickness x:Key="TextControlCompactPadding">0</Thickness>
|
||||
<Thickness x:Key="TextControlCompactMargin">0</Thickness>
|
||||
<BooleanToPasswordCharConverter x:Key="BooleanToPasswordCharConverter" PasswordChar="●" />
|
||||
</SettingsExpander.Resources>
|
||||
<SettingsExpander.Styles>
|
||||
<Style Selector="SettingsExpander.Write">
|
||||
<Style Selector="^ /template/ SettingsExpanderItem#ContentHost">
|
||||
<Style Selector="^ /template/ ContentPresenter#FooterPresenter">
|
||||
<Setter Property="MinWidth" Value="{Binding Width}" />
|
||||
</Style>
|
||||
<Style Selector="^:footerBottom /template/ ContentPresenter#FooterPresenter">
|
||||
<Setter Property="HorizontalAlignment" Value="Stretch" />
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="^ TextBox">
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
<Setter Property="Margin" Value="{StaticResource TextControlMargin}" />
|
||||
<Setter Property="Padding" Value="{StaticResource TextControlPadding}" />
|
||||
<Setter Property="TextWrapping" Value="NoWrap" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="SettingsExpander.Read">
|
||||
<Style Selector="^ /template/ SettingsExpanderItem#ContentHost">
|
||||
<Style Selector="^ /template/ ContentPresenter#FooterPresenter">
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
</Style>
|
||||
<Style Selector="^:footerBottom /template/ ContentPresenter#FooterPresenter">
|
||||
<Setter Property="HorizontalAlignment" Value="Stretch" />
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="^ TextBox">
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
<Setter Property="IsReadOnly" Value="True" />
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
<Setter Property="BorderThickness" Value="0" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="Margin" Value="{StaticResource TextControlCompactMargin}" />
|
||||
<Setter Property="Padding" Value="{StaticResource TextControlCompactPadding}" />
|
||||
<Setter Property="MinHeight" Value="0" />
|
||||
<Setter Property="TextWrapping" Value="NoWrap" />
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^:pointerover">
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^ /template/ Border#PART_BorderElement">
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="^:focus">
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^ /template/ Border#PART_BorderElement">
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
</Style>
|
||||
</Style>
|
||||
</Style>
|
||||
</Style>
|
||||
</SettingsExpander.Styles>
|
||||
<Interaction.Behaviors>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Read}">
|
||||
<AddClassAction ClassName="Read" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Write" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.New}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Write}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
</DataTriggerBehavior>
|
||||
</Interaction.Behaviors>
|
||||
<SettingsExpander.Icon>
|
||||
<Button
|
||||
Grid.Column="1"
|
||||
MinWidth="{StaticResource ButtonMinWidth}"
|
||||
MinHeight="{StaticResource ButtonMinHeight}"
|
||||
Margin="{StaticResource ButtonMargin}"
|
||||
Padding="{StaticResource ButtonPadding}"
|
||||
HorizontalContentAlignment="Center"
|
||||
VerticalContentAlignment="Center"
|
||||
Command="{Binding RemoveCommand}"
|
||||
Theme="{StaticResource TransparentButton}">
|
||||
<Viewbox Height="20">
|
||||
<TextBlock
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
FontFamily="{StaticResource FluentThemeFontFamily}"
|
||||
FontSize="16"
|
||||
Text="" />
|
||||
</Viewbox>
|
||||
<Button.Styles>
|
||||
<Style Selector="Button.Hide">
|
||||
<Setter Property="IsVisible" Value="True" />
|
||||
</Style>
|
||||
<Style Selector="Button.Show">
|
||||
<Setter Property="IsVisible" Value="False" />
|
||||
</Style>
|
||||
</Button.Styles>
|
||||
<Interaction.Behaviors>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Read}">
|
||||
<AddClassAction ClassName="Show" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Hide" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.New}">
|
||||
<AddClassAction ClassName="Hide" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Show" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Write}">
|
||||
<AddClassAction ClassName="Hide" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Show" />
|
||||
</DataTriggerBehavior>
|
||||
</Interaction.Behaviors>
|
||||
</Button>
|
||||
</SettingsExpander.Icon>
|
||||
<SettingsExpander.Action>
|
||||
<ItemEntryActionView />
|
||||
</SettingsExpander.Action>
|
||||
@@ -34,66 +163,6 @@
|
||||
Classes="revealPasswordButton"
|
||||
PasswordChar="{Binding IsRevealed, Converter={StaticResource BooleanToPasswordCharConverter}}"
|
||||
RevealPassword="{Binding IsRevealed}"
|
||||
Text="{Binding Value}">
|
||||
<TextBox.Styles>
|
||||
<Style Selector="TextBox.Write">
|
||||
<Setter Property="MaxWidth" Value="{Binding Width}" />
|
||||
<Setter Property="MinWidth" Value="{Binding Width}" />
|
||||
<Setter Property="Margin" Value="{StaticResource TextControlMargin}" />
|
||||
<Setter Property="Padding" Value="{StaticResource TextControlPadding}" />
|
||||
<Setter Property="TextWrapping" Value="NoWrap" />
|
||||
</Style>
|
||||
<Style Selector="TextBox.Read">
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
<Setter Property="IsReadOnly" Value="True" />
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="Margin" Value="{StaticResource TextControlCompactMargin}" />
|
||||
<Setter Property="Padding" Value="{StaticResource TextControlCompactPadding}" />
|
||||
<Setter Property="MinHeight" Value="0" />
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^:pointerover">
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^ /template/ Border#PART_BorderElement">
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="^:focus">
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^ /template/ Border#PART_BorderElement">
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
</Style>
|
||||
</Style>
|
||||
</Style>
|
||||
</TextBox.Styles>
|
||||
<Interaction.Behaviors>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Read}">
|
||||
<AddClassAction ClassName="Read" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Write" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.New}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Write}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
</DataTriggerBehavior>
|
||||
</Interaction.Behaviors>
|
||||
</TextBox>
|
||||
Text="{Binding Value}" />
|
||||
</SettingsExpander.Footer>
|
||||
</SettingsExpander>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
x:Class="Wallet.Avalonia.TextEntryView"
|
||||
xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:ui="using:FluentAvalonia.UI.Controls"
|
||||
xmlns:vm="using:Wallet"
|
||||
x:DataType="vm:TextEntryViewModel"
|
||||
Header="{Binding Key}"
|
||||
@@ -19,78 +20,144 @@
|
||||
</ResourceDictionary>
|
||||
</ResourceDictionary.ThemeDictionaries>
|
||||
</ResourceDictionary>
|
||||
<Thickness x:Key="ButtonMargin">0,0,12,0</Thickness>
|
||||
<Thickness x:Key="ButtonPadding">0</Thickness>
|
||||
<x:Double x:Key="ButtonMinWidth">32</x:Double>
|
||||
<x:Double x:Key="ButtonMinHeight">32</x:Double>
|
||||
<Thickness x:Key="TextControlMargin">0</Thickness>
|
||||
<Thickness x:Key="TextControlPadding">10,6,6,5</Thickness>
|
||||
<Thickness x:Key="TextControlCompactPadding">0</Thickness>
|
||||
<Thickness x:Key="TextControlCompactMargin">0</Thickness>
|
||||
</SettingsExpander.Resources>
|
||||
<SettingsExpander.Icon />
|
||||
<SettingsExpander.Action>
|
||||
<ItemEntryActionView />
|
||||
</SettingsExpander.Action>
|
||||
<SettingsExpander.Footer>
|
||||
<TextBox Classes="clearButton" Text="{Binding Value}">
|
||||
<TextBox.Styles>
|
||||
<Style Selector="TextBox.Write">
|
||||
<Setter Property="MaxWidth" Value="{Binding Width}" />
|
||||
<SettingsExpander.Styles>
|
||||
<Style Selector="SettingsExpander.Write">
|
||||
<Style Selector="^ /template/ SettingsExpanderItem#ContentHost">
|
||||
<Style Selector="^ /template/ ContentPresenter#FooterPresenter">
|
||||
<Setter Property="MinWidth" Value="{Binding Width}" />
|
||||
<Setter Property="Margin" Value="{StaticResource TextControlMargin}" />
|
||||
<Setter Property="Padding" Value="{StaticResource TextControlPadding}" />
|
||||
<Setter Property="TextWrapping" Value="NoWrap" />
|
||||
</Style>
|
||||
<Style Selector="TextBox.Read">
|
||||
<Style Selector="^:footerBottom /template/ ContentPresenter#FooterPresenter">
|
||||
<Setter Property="HorizontalAlignment" Value="Stretch" />
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
<Setter Property="IsReadOnly" Value="True" />
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
<Setter Property="BorderThickness" Value="0" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="Margin" Value="{StaticResource TextControlCompactMargin}" />
|
||||
<Setter Property="Padding" Value="{StaticResource TextControlCompactPadding}" />
|
||||
<Setter Property="MinHeight" Value="0" />
|
||||
<Setter Property="TextWrapping" Value="NoWrap" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="^ TextBox">
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
<Setter Property="Margin" Value="{StaticResource TextControlMargin}" />
|
||||
<Setter Property="Padding" Value="{StaticResource TextControlPadding}" />
|
||||
<Setter Property="TextWrapping" Value="NoWrap" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="SettingsExpander.Read">
|
||||
<Style Selector="^ /template/ SettingsExpanderItem#ContentHost">
|
||||
<Style Selector="^ /template/ ContentPresenter#FooterPresenter">
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
</Style>
|
||||
<Style Selector="^:footerBottom /template/ ContentPresenter#FooterPresenter">
|
||||
<Setter Property="HorizontalAlignment" Value="Stretch" />
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="^ TextBox">
|
||||
<Setter Property="MinWidth" Value="0" />
|
||||
<Setter Property="IsReadOnly" Value="True" />
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
<Setter Property="BorderThickness" Value="0" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="Margin" Value="{StaticResource TextControlCompactMargin}" />
|
||||
<Setter Property="Padding" Value="{StaticResource TextControlCompactPadding}" />
|
||||
<Setter Property="MinHeight" Value="0" />
|
||||
<Setter Property="TextWrapping" Value="NoWrap" />
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^:pointerover">
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^:pointerover">
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^ /template/ Border#PART_BorderElement">
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
</Style>
|
||||
</Style>
|
||||
<Style Selector="^:focus">
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^ /template/ Border#PART_BorderElement">
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
</Style>
|
||||
<Style Selector="^ /template/ Border#PART_BorderElement">
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
</Style>
|
||||
</Style>
|
||||
</TextBox.Styles>
|
||||
<Style Selector="^:focus">
|
||||
<Setter Property="Foreground">
|
||||
<Setter.Value>
|
||||
<SolidColorBrush Opacity="0.7" Color="{DynamicResource TextFillColorPrimary}" />
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style Selector="^ /template/ Border#PART_BorderElement">
|
||||
<Setter Property="Background" Value="Transparent" />
|
||||
<Setter Property="BorderBrush" Value="Transparent" />
|
||||
</Style>
|
||||
</Style>
|
||||
</Style>
|
||||
</Style>
|
||||
</SettingsExpander.Styles>
|
||||
<Interaction.Behaviors>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Read}">
|
||||
<AddClassAction ClassName="Read" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Write" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.New}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Write}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
</DataTriggerBehavior>
|
||||
</Interaction.Behaviors>
|
||||
<SettingsExpander.Icon>
|
||||
<Button
|
||||
Grid.Column="1"
|
||||
MinWidth="{StaticResource ButtonMinWidth}"
|
||||
MinHeight="{StaticResource ButtonMinHeight}"
|
||||
Margin="{StaticResource ButtonMargin}"
|
||||
Padding="{StaticResource ButtonPadding}"
|
||||
HorizontalContentAlignment="Center"
|
||||
VerticalContentAlignment="Center"
|
||||
Command="{Binding RemoveCommand}"
|
||||
Theme="{StaticResource TransparentButton}">
|
||||
<Viewbox Height="20">
|
||||
<TextBlock
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
FontFamily="{StaticResource FluentThemeFontFamily}"
|
||||
FontSize="16"
|
||||
Text="" />
|
||||
</Viewbox>
|
||||
<Button.Styles>
|
||||
<Style Selector="Button.Hide">
|
||||
<Setter Property="IsVisible" Value="True" />
|
||||
</Style>
|
||||
<Style Selector="Button.Show">
|
||||
<Setter Property="IsVisible" Value="False" />
|
||||
</Style>
|
||||
</Button.Styles>
|
||||
<Interaction.Behaviors>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Read}">
|
||||
<AddClassAction ClassName="Read" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Write" />
|
||||
<AddClassAction ClassName="Show" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Hide" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.New}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
<AddClassAction ClassName="Hide" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Show" />
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding State}" Value="{x:Static vm:ItemState.Write}">
|
||||
<AddClassAction ClassName="Write" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Read" />
|
||||
<AddClassAction ClassName="Hide" RemoveIfExists="True" />
|
||||
<RemoveClassAction ClassName="Show" />
|
||||
</DataTriggerBehavior>
|
||||
</Interaction.Behaviors>
|
||||
</TextBox>
|
||||
</Button>
|
||||
</SettingsExpander.Icon>
|
||||
<SettingsExpander.Action>
|
||||
<ItemEntryActionView />
|
||||
</SettingsExpander.Action>
|
||||
<SettingsExpander.Footer>
|
||||
<TextBox Classes="clearButton" Text="{Binding Value}" />
|
||||
</SettingsExpander.Footer>
|
||||
</SettingsExpander>
|
||||
|
||||
@@ -95,10 +95,6 @@ public partial class ItemEntryCollectionViewModel<TItem, TValue> :
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
protected virtual void OnStateChanged()
|
||||
{
|
||||
}
|
||||
|
||||
public Task Handle(ConfirmEventArgs<Item> args)
|
||||
{
|
||||
Commit();
|
||||
@@ -120,12 +116,20 @@ public partial class ItemEntryCollectionViewModel<TItem, TValue> :
|
||||
return await Task.FromResult(true);
|
||||
}
|
||||
|
||||
protected virtual void OnStateChanged()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
[RelayCommand]
|
||||
private void Copy() => Publisher.Publish(Write.As(new Clipboard<object>($"{Value}")));
|
||||
|
||||
[RelayCommand]
|
||||
private void Hide() => IsRevealed = false;
|
||||
|
||||
[RelayCommand]
|
||||
private void Remove() => Dispose();
|
||||
[RelayCommand]
|
||||
private void Reveal() => IsRevealed = true;
|
||||
}
|
||||
@@ -70,7 +70,6 @@ public partial class ItemEntryViewModel<TValue> :
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public async Task<bool> Handle(ValidateEventArgs<ItemEntry> args,
|
||||
CancellationToken cancellationToken)
|
||||
|
||||
Reference in New Issue
Block a user