static void TextBoxGotFocus(object sender, RoutedEventArgs e) { var txtBox = sender as TextBox; if (txtBox == null) return; VirtualKeyboardControl vkc = new VirtualKeyboardControl(); vkc.Width = 500; vkc.Height = 200; Popup p = new Popup(); StackPanel s = new StackPanel(); s.Background = Brushes.Azure; s.Children.Add(vkc); p.Child = s; p.AllowsTransparency = true; p.PlacementTarget = txtBox; p.Placement = PlacementMode.Bottom; p.IsOpen = true; }
public override void OnApplyTemplate() { base.OnApplyTemplate(); if (_virtualKeyboardPopup != null) _virtualKeyboardPopup.Opened -= OnVirtualKeyboardPopupOpened; _virtualKeyboardPopup = GetTemplateChild(PART_KeyboardPopup) as Popup; if (_virtualKeyboardPopup != null) _virtualKeyboardPopup.Opened += OnVirtualKeyboardPopupOpened; if (_virtualKeyboardControl != null) _virtualKeyboardControl.VirtualKeyPressed -= OnVirtualKeyPressed; _virtualKeyboardControl = GetTemplateChild(PART_Keyboard) as VirtualKeyboardControl; if (_virtualKeyboardControl != null) _virtualKeyboardControl.VirtualKeyPressed += OnVirtualKeyPressed; }