XAML:
<Style x:Key="KeyBoardButton"
TargetType="Button">
<Setter
Property="FontFamily"
Value="Arial-BoldMT"></Setter>
<Setter
Property="FontSize" Value="36"></Setter>
<Setter
Property="Foreground" Value="#071c2c"></Setter>
<Setter
Property="BorderBrush" Value="#071c2c"></Setter>
<Setter
Property="BorderThickness" Value="2"></Setter>
<Setter
Property="Background" Value="#dde1e9"></Setter>
<Setter
Property="Width" Value="85"></Setter>
<Setter
Property="Height" Value="75"></Setter>
<Setter
Property="HorizontalAlignment"
Value="Center"></Setter>
<Setter
Property="VerticalAlignment"
Value="Center"></Setter>
</Style>
<Popup Name="PopUpKeyBoard"
Placement="Absolute"
Height="410" Width="270" HorizontalOffset="490"
VerticalOffset="145">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="1*"></RowDefinition>
<RowDefinition
Height="1*"></RowDefinition>
<RowDefinition Height="1*"></RowDefinition>
<RowDefinition Height="1*"></RowDefinition>
<RowDefinition Height="1*"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Button x:Name="Closeboard" Grid.Row="0"
Grid.Column="2" Content="X" Style="{StaticResource
KeyBoardButton}" CommandParameter="CLOSE"
Click="KeyPadButton_Click" ></Button>
<Button x:Name="one" Grid.Row="1"
Grid.Column="0" Content="1" Style="{StaticResource
KeyBoardButton}" CommandParameter="NUMPAD1"
Click="KeyPadButton_Click"></Button>
<Button x:Name="two"
Grid.Row="1" Grid.Column="1" Content="2"
Style="{StaticResource KeyBoardButton}"
CommandParameter="NUMPAD2"
Click="KeyPadButton_Click"></Button>
<Button x:Name="three" Grid.Row="1"
Grid.Column="2" Content="3" Style="{StaticResource
KeyBoardButton}" CommandParameter="NUMPAD3"
Click="KeyPadButton_Click"></Button>
<Button x:Name="four" Grid.Row="2"
Grid.Column="0" Content="4" Style="{StaticResource
KeyBoardButton}" CommandParameter="NUMPAD4"
Click="KeyPadButton_Click"></Button>
<Button x:Name="five" Grid.Row="2"
Grid.Column="1" Content="5" Style="{StaticResource
KeyBoardButton}" CommandParameter="NUMPAD5"
Click="KeyPadButton_Click"></Button>
<Button x:Name="six" Grid.Row="2"
Grid.Column="2" Content="6" Style="{StaticResource
KeyBoardButton}" CommandParameter="NUMPAD6" Click="KeyPadButton_Click"></Button>
<Button x:Name="seven" Grid.Row="3"
Grid.Column="0" Content="7" Style="{StaticResource
KeyBoardButton}" CommandParameter="NUMPAD7"
Click="KeyPadButton_Click"></Button>
<Button x:Name="eight" Grid.Row="3"
Grid.Column="1" Content="8" Style="{StaticResource
KeyBoardButton}" CommandParameter="NUMPAD8" Click="KeyPadButton_Click"></Button>
<Button x:Name="nine" Grid.Row="3"
Grid.Column="2" Content="9" Style="{StaticResource
KeyBoardButton}" CommandParameter="NUMPAD9" Click="KeyPadButton_Click"></Button>
<Button x:Name="zero" Grid.Row="4"
Grid.Column="1" Content="0" Style="{StaticResource
KeyBoardButton}" CommandParameter="NUMPAD0"
Click="KeyPadButton_Click"></Button>
<Button x:Name="back" Grid.Row="4"
Grid.Column="2" Style="{StaticResource KeyBoardButton}"
CommandParameter="BACK" Click="KeyPadButton_Click">
<Image Source="..\Images\icn-backarrow@3x.png"
Width="40"></Image>
</Button>
</Grid>
</Popup>
CS Code:
private TextBox
SelectedTextBox;
private bool
GotFocusTextbox=false;
private void OpenKeyboard(TextBox txtBox)
{
try
{
ostk.CloseKeyboard();
PopUpKeyBoard.IsOpen = true;
SelectedTextBox = txtBox;
GotFocusTextbox = true;
}
catch
(Exception ex)
{
var
methodName = new StackTrace(ex).GetFrame(0).GetMethod().Name;
Errorlog.Errorlog.WriteToErrorLog(ex.Message, ex.StackTrace,
"Error", methodName);
}
}
private void
CloseKeyboard()
{
try
{
PopUpKeyBoard.IsOpen = false;
GotFocusTextbox = false;
SelectedTextBox = null;
}
catch
(Exception ex)
{
var
methodName = new StackTrace(ex).GetFrame(0).GetMethod().Name;
Errorlog.Errorlog.WriteToErrorLog(ex.Message, ex.StackTrace,
"Error", methodName);
}
}
private void Textbox_GotFocus(object sender, RoutedEventArgs
e)
{
OpenKeyboard(sender as TextBox); //Open a keyboard
}
private void
KeyPadButton_Click(object sender, RoutedEventArgs e)
{
try
{
Button
button = sender as Button;
switch
(button.CommandParameter.ToString())
{
case "CLOSE":
CloseKeyboard();
break;
case "BACK":
if (SelectedTextBox.Text.Length > 0)
SelectedTextBox.Text =
SelectedTextBox.Text.Remove(SelectedTextBox.Text.Length - 1);
break;
default:
if (SelectedTextBox != null)
{
if (GotFocusTextbox)
{
SelectedTextBox.Text = "";
SelectedTextBox.Text += button.Content.ToString();
}
else
{
SelectedTextBox.Text += button.Content.ToString();
}
}
GotFocusTextbox = false;
break;
}
}
catch
(Exception ex)
{
var
methodName = new StackTrace(ex).GetFrame(0).GetMethod().Name;
Errorlog.Errorlog.WriteToErrorLog(ex.Message, ex.StackTrace,
"Error", methodName);
}
}
No comments:
Post a Comment