public VirtualKey(VirtualKeyboard keyboard, KeySet keySet, KeySetRow row, Key key) { _keyboard = keyboard; _keySet = keySet; _key = key; if (row.IndexOf(key) < row.Count/2) _popupFlowDirection = FlowDirection.LeftToRight; else _popupFlowDirection = FlowDirection.RightToLeft; PrimaryAction = new VirtualKeyAction(keyboard, keySet, key.DefaultAction, key.Width); Loaded += (s, e) => { if (AlternativesPopup != null) { if (_popupFlowDirection == FlowDirection.LeftToRight) { AlternativesPopup.HorizontalOffset = -ActualWidth; AlternativesPopup.Placement = PlacementMode.Right; } else { AlternativesPopup.HorizontalOffset = ActualWidth; AlternativesPopup.Placement = PlacementMode.Left; } } }; }
public VirtualKey(VirtualKeyboard keyboard, KeySet keySet, KeySetRow row, Key key) { _keyboard = keyboard; _keySet = keySet; _key = key; if (row.IndexOf(key) < row.Count / 2) { _popupFlowDirection = FlowDirection.LeftToRight; } else { _popupFlowDirection = FlowDirection.RightToLeft; } PrimaryAction = new VirtualKeyAction(keyboard, keySet, key.DefaultAction, key.Width); Loaded += (s, e) => { if (AlternativesPopup != null) { if (_popupFlowDirection == FlowDirection.LeftToRight) { AlternativesPopup.HorizontalOffset = -ActualWidth; AlternativesPopup.Placement = PlacementMode.Right; } else { AlternativesPopup.HorizontalOffset = ActualWidth; AlternativesPopup.Placement = PlacementMode.Left; } } }; }
public VirtualKeyAction(VirtualKeyboard keyboard, KeySet keySet, KeyActionPair pair, double keyWidth) { _keyboard = keyboard; _keySet = keySet; _pair = pair; _width = keyWidth; _keyboard.IsShiftHeldChanged += IsShiftHeldChanged; _keyboard.KeySetChanged += KeySetChanged; }
public VirtualKeySetRow(VirtualKeyboard keyboard, KeySet keySet, KeySetRow row) { _row = row; Keys = row.Select(key => new VirtualKey(keyboard, keySet, row, key)).ToArray(); }
public VirtualKeySet(VirtualKeyboard keyboard, KeySet keySet) { Rows = keySet.Select(row => new VirtualKeySetRow(keyboard, keySet, row)).ToArray(); }