1
0
mirror of https://github.com/Artemis-RGB/Artemis synced 2025-12-13 05:48:35 +00:00

Text boxes - Fixed the hitbox so that you can click anywhere in a textbox to start typing

This commit is contained in:
Robert 2022-10-01 22:30:55 +02:00 committed by RobertBeekman
parent 486fb88c50
commit ba45bdd99d
2 changed files with 85 additions and 69 deletions

View File

@ -45,7 +45,7 @@
<!-- Add Styles Here --> <!-- Add Styles Here -->
<Style Selector="TextBox.condensed"> <Style Selector="TextBox.condensed">
<Setter Property="Padding" Value="2" /> <Setter Property="Padding" Value="6 1" />
<Setter Property="FontSize" Value="13" /> <Setter Property="FontSize" Value="13" />
<Setter Property="MinHeight" Value="24" /> <Setter Property="MinHeight" Value="24" />
</Style> </Style>

View File

@ -10,7 +10,8 @@
<!-- Add Controls for Previewer Here --> <!-- Add Controls for Previewer Here -->
<TextBox Text="99999999" <TextBox Text="99999999"
attached:TextBoxAssist.PrefixText="%" attached:TextBoxAssist.PrefixText="%"
attached:TextBoxAssist.SuffixText="%"></TextBox> attached:TextBoxAssist.SuffixText="%">
</TextBox>
<controls:NumberBox Value="99999999" <controls:NumberBox Value="99999999"
attached:NumberBoxAssist.PrefixText="%" attached:NumberBoxAssist.PrefixText="%"
attached:NumberBoxAssist.SuffixText="%" /> attached:NumberBoxAssist.SuffixText="%" />
@ -44,23 +45,36 @@
MinWidth="{TemplateBinding MinWidth}" MinWidth="{TemplateBinding MinWidth}"
MinHeight="{TemplateBinding MinHeight}" MinHeight="{TemplateBinding MinHeight}"
RenderTransform="scaleY(-1)" RenderTransform="scaleY(-1)"
CornerRadius="{TemplateBinding CornerRadius}"/> CornerRadius="{TemplateBinding CornerRadius}" />
<Border <Border
Margin="{TemplateBinding BorderThickness}"> Margin="{TemplateBinding BorderThickness}">
<Grid ColumnDefinitions="Auto,*,Auto" > <Grid ColumnDefinitions="Auto,*,Auto">
<ContentPresenter Grid.Column="0" Content="{TemplateBinding InnerLeftContent}"/> <ContentPresenter Grid.Column="0" Content="{TemplateBinding InnerLeftContent}" />
<DockPanel x:Name="PART_InnerDockPanel" Grid.Column="1" Margin="{TemplateBinding Padding}"> <Grid x:Name="PART_InnerGrid"
<TextBlock Name="PART_Prefix" Grid.Column="1"
Text="{TemplateBinding attached:TextBoxAssist.PrefixText}" RowDefinitions="Auto,Auto"
IsHitTestVisible="False" ColumnDefinitions="Auto,*,Auto"
DockPanel.Dock="Left"/> Cursor="IBeam"
<TextBlock Name="PART_FloatingWatermark" Margin="{TemplateBinding Padding}">
<TextBlock Grid.Row="0"
Grid.ColumnSpan="3"
Name="PART_FloatingWatermark"
Foreground="{DynamicResource SystemAccentColor}" Foreground="{DynamicResource SystemAccentColor}"
FontSize="{TemplateBinding FontSize}" FontSize="{TemplateBinding FontSize}"
Text="{TemplateBinding Watermark}" Text="{TemplateBinding Watermark}" />
DockPanel.Dock="Top" />
<ScrollViewer HorizontalScrollBarVisibility="{TemplateBinding (ScrollViewer.HorizontalScrollBarVisibility)}" <TextBlock Grid.Row="1"
Grid.Column="0"
Name="PART_Prefix"
Text="{TemplateBinding attached:TextBoxAssist.PrefixText}"
IsVisible="{TemplateBinding attached:TextBoxAssist.PrefixText, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"
IsHitTestVisible="False"
DockPanel.Dock="Left" />
<ScrollViewer Grid.Row="1"
Grid.Column="1"
HorizontalScrollBarVisibility="{TemplateBinding (ScrollViewer.HorizontalScrollBarVisibility)}"
VerticalScrollBarVisibility="{TemplateBinding (ScrollViewer.VerticalScrollBarVisibility)}"> VerticalScrollBarVisibility="{TemplateBinding (ScrollViewer.VerticalScrollBarVisibility)}">
<Panel> <Panel>
<TextBlock Name="PART_Watermark" <TextBlock Name="PART_Watermark"
@ -70,7 +84,7 @@
IsVisible="{TemplateBinding Text, Converter={x:Static StringConverters.IsNullOrEmpty}}" IsVisible="{TemplateBinding Text, Converter={x:Static StringConverters.IsNullOrEmpty}}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
IsHitTestVisible="False"/> IsHitTestVisible="False" />
<TextPresenter Name="PART_TextPresenter" <TextPresenter Name="PART_TextPresenter"
Text="{TemplateBinding Text, Mode=TwoWay}" Text="{TemplateBinding Text, Mode=TwoWay}"
CaretIndex="{TemplateBinding CaretIndex}" CaretIndex="{TemplateBinding CaretIndex}"
@ -84,17 +98,19 @@
SelectionForegroundBrush="{TemplateBinding SelectionForegroundBrush}" SelectionForegroundBrush="{TemplateBinding SelectionForegroundBrush}"
CaretBrush="{TemplateBinding CaretBrush}" CaretBrush="{TemplateBinding CaretBrush}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
</Panel> </Panel>
</ScrollViewer> </ScrollViewer>
<TextBlock Name="PART_Suffix" <TextBlock Grid.Row="1"
Grid.Column="2"
Name="PART_Suffix"
Text="{TemplateBinding attached:TextBoxAssist.SuffixText}" Text="{TemplateBinding attached:TextBoxAssist.SuffixText}"
IsVisible="{TemplateBinding attached:TextBoxAssist.SuffixText, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"
IsHitTestVisible="False" IsHitTestVisible="False"
HorizontalAlignment="Right" HorizontalAlignment="Right" />
DockPanel.Dock="Right"/> </Grid>
</DockPanel> <ContentPresenter Grid.Column="2" Content="{TemplateBinding InnerRightContent}" />
<ContentPresenter Grid.Column="2" Content="{TemplateBinding InnerRightContent}"/>
</Grid> </Grid>
</Border> </Border>
</Panel> </Panel>