Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
T
Thick-Common
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
潘栩锋
Thick-Common
Commits
212a0cb8
Commit
212a0cb8
authored
Nov 08, 2022
by
潘栩锋
🚴
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加 专为名字而设定的虚拟键盘
parent
1da75c4d
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
437 additions
and
1 deletion
+437
-1
FLY.ControlLibrary.csproj
...ntrolLibrary/FLY.ControlLibrary/FLY.ControlLibrary.csproj
+7
-0
KeyboardBehavior.cs
...trolLibrary/FLY.ControlLibrary/UI.OSK/KeyboardBehavior.cs
+6
-1
WdNameKeyboard.xaml
...trolLibrary/FLY.ControlLibrary/UI.OSK/WdNameKeyboard.xaml
+292
-0
WdNameKeyboard.xaml.cs
...lLibrary/FLY.ControlLibrary/UI.OSK/WdNameKeyboard.xaml.cs
+132
-0
No files found.
Project.FLY.ControlLibrary/FLY.ControlLibrary/FLY.ControlLibrary.csproj
View file @
212a0cb8
...
...
@@ -118,6 +118,9 @@
<Compile
Include=
"Rules\FileNameRule.cs"
/>
<Compile
Include=
"NoToggleButton.cs"
/>
<Compile
Include=
"ToggleButtonOnOff.cs"
/>
<Compile
Include=
"UI.OSK\WdNameKeyboard.xaml.cs"
>
<DependentUpon>
WdNameKeyboard.xaml
</DependentUpon>
</Compile>
<Compile
Include=
"UI.OSK\WdFullKeyboard.xaml.cs"
>
<DependentUpon>
WdFullKeyboard.xaml
</DependentUpon>
</Compile>
...
...
@@ -269,6 +272,10 @@
<Generator>
MSBuild:Compile
</Generator>
<SubType>
Designer
</SubType>
</Resource>
<Page
Include=
"UI.OSK\WdNameKeyboard.xaml"
>
<Generator>
MSBuild:Compile
</Generator>
<SubType>
Designer
</SubType>
</Page>
<Page
Include=
"UI.OSK\WdFullKeyboard.xaml"
>
<SubType>
Designer
</SubType>
<Generator>
MSBuild:Compile
</Generator>
...
...
Project.FLY.ControlLibrary/FLY.ControlLibrary/UI.OSK/KeyboardBehavior.cs
View file @
212a0cb8
...
...
@@ -171,9 +171,14 @@ namespace FLY.ControlLibrary.UI.OSK
kb
=
fkb
;
}
else
if
(
param
.
Contains
(
"name"
))
{
kb
=
new
WdNameKeyboard
();
}
else
{
kb
=
new
WdNumKeyboard
();
}
Window
w
=
(
Window
)
kb
;
Window
window
=
COMMON
.
GetWindow
(
tb
);
w
.
Owner
=
window
;
...
...
Project.FLY.ControlLibrary/FLY.ControlLibrary/UI.OSK/WdNameKeyboard.xaml
0 → 100644
View file @
212a0cb8
<Window x:Class="FLY.ControlLibrary.UI.OSK.WdNameKeyboard"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:FLY.ControlLibrary.UI.OSK"
WindowStyle="None" ResizeMode="NoResize" WindowStartupLocation="CenterScreen"
xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
Height="300" Width="650" Background="#525a65" Loaded="Window_Loaded">
<Grid>
<Grid.Resources>
<SolidColorBrush x:Key="Color_light" Color="#f4f4f4"/>
<SolidColorBrush x:Key="Color_dark" Color="#8e9aa8"/>
<Style TargetType="TextBlock" x:Key="TextBlockStyle_abc">
<Setter Property="FontSize" Value="20" />
<Setter Property="FontFamily" Value="Arial" />
</Style>
<Style TargetType="Button" x:Key="ButtonStyle_key">
<Setter Property="Margin" Value="3"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<StackPanel Orientation="Vertical">
<Border Background="{TemplateBinding Background}" Height="{TemplateBinding ActualHeight}" Width="{TemplateBinding ActualWidth}" BorderThickness="2" CornerRadius="3">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="50*"/>
<RowDefinition Height="150*"/>
<RowDefinition Height="50*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50*"/>
<ColumnDefinition Width="150*"/>
<ColumnDefinition Width="50*"/>
</Grid.ColumnDefinitions>
<Viewbox Grid.Row="1" Grid.Column="1" >
<ContentPresenter RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</Viewbox>
</Grid>
</Border>
</StackPanel>
<ControlTemplate.Triggers>
<Trigger Property="IsKeyboardFocused" Value="true">
</Trigger>
<Trigger Property="IsEnabled" Value="false">
</Trigger>
<Trigger Property="IsPressed" Value="true">
<Setter Property="Opacity" Value="0.5"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="Button" x:Key="ButtonStyle_abc" BasedOn="{StaticResource ButtonStyle_key}">
<Setter Property="Background" Value="{StaticResource Color_light}"/>
<Setter Property="Foreground" Value="#444e57"/>
</Style>
<Style TargetType="Button" x:Key="ButtonStyle_opt" BasedOn="{StaticResource ButtonStyle_key}">
<Setter Property="Background" Value="{StaticResource Color_dark}"/>
<Setter Property="Foreground" Value="{StaticResource Color_light}"/>
</Style>
</Grid.Resources>
<Grid.RowDefinitions>
<RowDefinition Height="57*" />
<RowDefinition Height="200*" />
</Grid.RowDefinitions>
<Border Background="White" Margin="6" CornerRadius="3" MouseDown="Border_MouseDown">
<Viewbox Margin="3" HorizontalAlignment="Right" VerticalAlignment="Center" >
<TextBlock x:Name="textblock_result" Text="{Binding ResultView}" Foreground="Black" FontWeight="Bold" FontSize="30" />
</Viewbox>
</Border>
<Grid Grid.Row="1" Margin="3">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Button Grid.Column="0" Name="button_1" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="1" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="1" Name="button_2" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="2" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="2" Name="button_3" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="3" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="3" Name="button_4" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="4" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="4" Name="button_5" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="5" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="5" Name="button_6" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="6" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="6" Name="button_7" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="7" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="7" Name="button_8" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="8" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="8" Name="button_9" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="9" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="9" Name="button_0" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="0" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
</Grid>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Button Grid.Column="0" Name="button_q" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="Q" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="1" Name="button_w" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="W" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="2" Name="button_e" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="E" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="3" Name="button_r" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="R" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="4" Name="button_t" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="T" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="5" Name="button_y" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="Y" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="6" Name="button_u" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="U" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="7" Name="button_i" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="I" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="8" Name="button_o" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="O" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="9" Name="button_p" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="P" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
</Grid>
<Grid Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50*"/>
<ColumnDefinition Width="100*"/>
<ColumnDefinition Width="100*"/>
<ColumnDefinition Width="100*"/>
<ColumnDefinition Width="100*"/>
<ColumnDefinition Width="100*"/>
<ColumnDefinition Width="100*"/>
<ColumnDefinition Width="100*"/>
<ColumnDefinition Width="100*"/>
<ColumnDefinition Width="100*"/>
<ColumnDefinition Width="50*"/>
</Grid.ColumnDefinitions>
<Button Grid.Column="1" Name="button_a" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="A" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="2" Name="button_s" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="S" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="3" Name="button_d" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="D" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="4" Name="button_f" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="F" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="5" Name="button_g" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="G" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="6" Name="button_h" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="H" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="7" Name="button_j" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="J" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="8" Name="button_k" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="K" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="9" Name="button_l" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="L" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
</Grid>
<Grid Grid.Row="3">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100*"/>
<ColumnDefinition Width="100*"/>
<ColumnDefinition Width="100*"/>
<ColumnDefinition Width="100*"/>
<ColumnDefinition Width="100*"/>
<ColumnDefinition Width="100*"/>
<ColumnDefinition Width="100*"/>
<ColumnDefinition Width="100*"/>
<ColumnDefinition Width="200*"/>
</Grid.ColumnDefinitions>
<Button Grid.Column="1" Name="button_z" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="Z" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="2" Name="button_x" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="X" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="3" Name="button_c" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="C" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="4" Name="button_v" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="V" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="5" Name="button_b" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="B" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="6" Name="button_n" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="N" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="7" Name="button_m" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="M" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="8" Name="button_backspace" Style="{StaticResource ButtonStyle_opt}" Click="button_backspace_Click">
<iconPacks:Material Kind="Backspace" />
</Button>
</Grid>
<Grid Grid.Row="4">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="250*"/>
<ColumnDefinition Width="300*"/>
<ColumnDefinition Width="100*"/>
<ColumnDefinition Width="100*"/>
<ColumnDefinition Width="100*"/>
<ColumnDefinition Width="100*"/>
<ColumnDefinition Width="250*"/>
</Grid.ColumnDefinitions>
<Button Grid.Column="0" Name="button_close" Style="{StaticResource ButtonStyle_opt}" Click="button_close_Click">
<iconPacks:Material Kind="KeyboardClose" />
</Button>
<Button Grid.Column="1" Name="button_space" Style="{StaticResource ButtonStyle_abc}" Click="button_space_Click" />
<Button Grid.Column="2" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="-" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="3" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="#" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="4" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="*" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="5" Style="{StaticResource ButtonStyle_abc}" Click="button_Click">
<TextBlock Text="/" Style="{StaticResource TextBlockStyle_abc}" />
</Button>
<Button Grid.Column="6" Name="button_enter" Style="{StaticResource ButtonStyle_opt}" Click="button_enter_Click">
<iconPacks:Material Kind="KeyboardReturn" />
</Button>
</Grid>
</Grid>
</Grid>
</Window>
Project.FLY.ControlLibrary/FLY.ControlLibrary/UI.OSK/WdNameKeyboard.xaml.cs
0 → 100644
View file @
212a0cb8
using
System
;
using
System.Collections.Generic
;
using
System.ComponentModel
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
System.Windows
;
using
System.Windows.Controls
;
using
System.Windows.Data
;
using
System.Windows.Documents
;
using
System.Windows.Input
;
using
System.Windows.Media
;
using
System.Windows.Media.Imaging
;
using
System.Windows.Shapes
;
using
System.Windows.Threading
;
namespace
FLY.ControlLibrary.UI.OSK
{
/// <summary>
/// WdPNameKeyboard.xaml 的交互逻辑
/// </summary>
public
partial
class
WdNameKeyboard
:
Window
,
INotifyPropertyChanged
,
IVirtualKeyboard
{
private
DispatcherTimer
timer
;
private
TextBox
textbox
=
null
;
private
bool
press1st
=
true
;
public
WdNameKeyboard
()
{
InitializeComponent
();
timer
=
new
DispatcherTimer
();
timer
.
Tick
+=
new
EventHandler
(
timer_Tick
);
timer
.
Interval
=
TimeSpan
.
FromMilliseconds
(
1
);
}
void
timer_Tick
(
object
sender
,
EventArgs
e
)
{
timer
.
Stop
();
this
.
ShowDialog
();
}
public
void
Open
(
TextBox
textbox
)
{
this
.
textbox
=
textbox
;
this
.
Result
=
textbox
.
Text
;
timer
.
Start
();
//不能直接showdialog(), 要让事件继续传递,直到有个框出来!!!
//this.ShowDialog();
}
private
void
Window_Loaded
(
object
sender
,
RoutedEventArgs
e
)
{
this
.
textblock_result
.
DataContext
=
this
;
}
private
void
button_Click
(
object
sender
,
RoutedEventArgs
e
)
{
if
(
press1st
)
{
press1st
=
false
;
Result
=
""
;
}
string
text
=
((
sender
as
Button
).
Content
as
TextBlock
).
Text
;
Result
+=
text
;
}
private
void
button_backspace_Click
(
object
sender
,
RoutedEventArgs
e
)
{
Result
=
""
;
}
private
void
button_close_Click
(
object
sender
,
RoutedEventArgs
e
)
{
this
.
Close
();
}
private
void
button_space_Click
(
object
sender
,
RoutedEventArgs
e
)
{
Result
+=
" "
;
}
private
void
button_enter_Click
(
object
sender
,
RoutedEventArgs
e
)
{
if
(
this
.
textbox
!=
null
)
{
this
.
textbox
.
Text
=
Result
;
//触发失去焦点事件!!!!!!!
//让 绑定的 property 生效
this
.
textbox
.
RaiseEvent
(
new
RoutedEventArgs
(
TextBox
.
LostFocusEvent
));
}
this
.
Close
();
}
private
string
result
;
/// <summary>
/// 结果
/// </summary>
public
string
Result
{
get
{
return
result
;
}
set
{
if
(
result
!=
value
)
{
result
=
value
;
this
.
ResultView
=
this
.
Result
;
}
}
}
/// <summary>
/// 正常模式时, ResultView 与 Result 一样, 密码模式时, ResultView 显示*******
/// </summary>
public
string
ResultView
{
get
;
set
;
}
/// <summary>
/// 属性改变事件
/// </summary>
public
event
PropertyChangedEventHandler
PropertyChanged
;
private
void
Border_MouseDown
(
object
sender
,
MouseButtonEventArgs
e
)
{
this
.
DragMove
();
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment