/// <inheritdoc/> protected override void OnAttachedToVisualTree(VisualTreeAttachmentEventArgs e) { base.OnAttachedToVisualTree(e); _accessKeys = (e.Root as IInputRoot)?.AccessKeyHandler; if (_accessKeys != null && AccessKey != 0) { _accessKeys.Register(AccessKey, this); } }
/// <summary> /// Called when the control is attached to a visual tree. /// </summary> /// <param name="root">The root of the visual tree.</param> protected override void OnAttachedToVisualTree(IRenderRoot root) { base.OnAttachedToVisualTree(root); _accessKeys = (root as IInputRoot)?.AccessKeyHandler; if (_accessKeys != null && AccessKey != 0) { _accessKeys.Register(AccessKey, this); } }
/// <summary> /// Called when the <see cref="TextBlock.Text"/> property changes. /// </summary> /// <param name="text">The new text.</param> private void TextChanged(string text) { var key = (char)0; if (text != null) { int underscore = text.IndexOf('_'); if (underscore != -1 && underscore < text.Length - 1) { key = text[underscore + 1]; } } AccessKey = key; if (_accessKeys != null && AccessKey != 0) { _accessKeys.Register(AccessKey, this); } }