/// <summary></summary> /// <param name="e"></param> protected override void OnKeyUp(KeyEventArgs e) { if (e.Key == Key.F9) { StuffUI.PrintLogicalTreeToConsole(Keyboard.FocusedElement as DependencyObject); } else if (e.Key == Key.F8) { StuffUI.PrintVisualTreeToConsole(Keyboard.FocusedElement as DependencyObject); } else if (e.Key == Key.F7) { StuffUI.PrintEventTreeToConsole(Keyboard.FocusedElement as DependencyObject); } base.OnKeyUp(e); } // proc OnKeyUp
} // ctor /// <summary></summary> /// <param name="serviceProvider"></param> /// <returns></returns> public override object ProvideValue(IServiceProvider serviceProvider) { var type = Type; if (type == null) { if (TypeName == null) { var target = serviceProvider.GetService <IProvideValueTarget>(true); if (target.TargetProperty is PropertyInfo pi) { type = pi.PropertyType; } } else { type = LuaType.GetType(TypeName); } } return(type == null ? Value : StuffUI.ChangeTypeWithConverter(Value, type)); } // func ProvideValue