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 -->
<Style Selector="TextBox.condensed">
<Setter Property="Padding" Value="2" />
<Setter Property="Padding" Value="6 1" />
<Setter Property="FontSize" Value="13" />
<Setter Property="MinHeight" Value="24" />
</Style>

View File

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