/// <summary> /// Executes the command. /// </summary> /// <param name="parameter"></param> protected override void Invoke(object parameter) { CommandConverter typeConverter = new CommandConverter(); RoutedUICommand commandToExecute; try { commandToExecute = typeConverter.ConvertFromString(this.Command) as RoutedUICommand; } catch (Exception e) { throw new ArgumentException(String.Format("Unable to convert \"{0}\" to a routed event. Verify that the specified string is a properly registered routed event and try again.", this.Command), e); } commandToExecute.Execute(this.CommandParameter, this.Target); }
private TypeConverter GetTypeConverter(Type targetType) { if (!typeConverterDictionary.ContainsKey(targetType)) { if (targetType == typeof(ICommand)) { CommandConverter converter = new CommandConverter(commandDictionary); typeConverterDictionary.Add(targetType, converter); } else { // Geht davon aus, dass sich alle TypeConverter in derselben Assembly befinden List <Type> typeConverterTypeList = (from t in Assembly.GetAssembly(typeof(TypeConverterBase)).GetTypes() where t.GetCustomAttributes(typeof(TargetTypeConverterAttribute), false).Length == 1 select t).ToList(); Type typeConverterType = null; foreach (Type type in typeConverterTypeList) { TargetTypeConverterAttribute attribute = (TargetTypeConverterAttribute)(type.GetCustomAttributes(typeof(TargetTypeConverterAttribute), false))[0]; if (attribute.TargetType == targetType) { typeConverterType = type; break; } } if (typeConverterType != null) { typeConverterDictionary.Add(targetType, Activator.CreateInstance(typeConverterType) as TypeConverter); } else { typeConverterDictionary.Add(targetType, null); } } } if (typeConverterDictionary.ContainsKey(targetType)) { return(typeConverterDictionary[targetType]); } return(null); }
public MainWindow() : base() { LogFinder = new LogFinder(); app.LogFinder = LogFinder; // s.Source = app.Files; // var d = CollectionViewSource.GetDefaultView(app. ); // int c = (from x in d.SortDescriptions select x).Count(); // app.Files.Add(new Item(null)); // Logger.Trace($"{c}"); InitializeComponent(); Binding binding = new Binding { Source = Application.Current, Path = new PropertyPath("LogWindowType") }; SetBinding(LogWindowTypeProperty, binding); // DebugWindow debugWindow = new DebugWindow(); // debugWindow.Show(); foreach (FieldInfo f in typeof(StartupActions).GetFields( BindingFlags.Static | BindingFlags.Public | BindingFlags.ExactBinding)) { var fieldValue = f.GetValue(null); Delegate d = fieldValue as Delegate; if (d != null) { if (!d.GetMethodInfo().GetParameters().Any()) { Action a = d as Action; Debug.Assert(a != null); Task.Run(a); } } } // ConsoleWindow consoleWindow = new ConsoleWindow(); // consoleWindow.Show(); if (LogWindowType != null) { _logWindow = LogWindowType.GetConstructor(Type.EmptyTypes).Invoke(null) as Window; //_logWindow.ShowActivated = true; _logWindow.Show(); } Task.Run(() => { }); ObjectDataProvider o = TryFindResource("DrivesProvider") as ObjectDataProvider; var typ = o.ObjectInstance.GetType().ToString(); Logger.Info($"{o.ObjectInstance}"); CommandBindings.Add( app.LogFinder.FindLogsCommandBinding); CommandManager.AddPreviewExecutedHandler(this, (sender, args) => { CommandConverter con = new CommandConverter(); string cmd = WhatCommand(args.Command); var convertFrom = con.ConvertToString(args.Command); //Logger.Info($"{convertFrom} {convertFrom.GetType().FullName}"); Logger.Info( $" executed {cmd} {args.Parameter} {args.Source} {args.OriginalSource} {args.RoutedEvent}"); }); // CollectionViewSource s = new CollectionViewSource(); // var def = CollectionViewSource.GetDefaultView(LogFinder.Files); // Logger.Debug($"{def}"); // Logger.Debug($"{def}"); // // // CollectionViewSource src = new XCol(); // // Binding binding = new Binding // { // Source = def // }; // // FilesListView.SetBinding(ItemsControl.ItemsSourceProperty,binding); // // // FilesListView.ItemsSource = app.Files; // FilesListView. /* Binding binding = new Binding("FullName") * { * Source = this.Files * * }; * * var itemsSourceProperty = ItemsControl.ItemsSourceProperty; * * BindingOperations.SetBinding(FilesListView, itemsSourceProperty, binding); */ foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies()) { var typeInfos = assembly.DefinedTypes.Where((info, i) => info.IsSubclassOf(typeof(TraceSource))); if (typeInfos.Count() > 0) { var s2 = String.Join(" ", typeInfos); var @join = s2; NLog.Logger l = NLog.LogManager.GetLogger( Path.GetFileName(assembly.Location)); foreach (var t in typeInfos) { l.Info(t.Name); } //l.Info($"{assembly.Location} {@join}"); } } }
public Database(IDbConnection connection, string providerName) { this.connection = connection; this.providerName = providerName; this.commandConverter = new CommandConverter(this.connection, this.providerName); }
/// <summary> /// Return an object that should be set on the targetObject's targetProperty /// for this markup extension. For a StaticExtension this is a static field /// or property value. /// </summary> /// <param name="serviceProvider">Object that can provide services for the markup extension.</param> /// <returns> /// The object to set on this property. /// </returns> public override object ProvideValue(IServiceProvider serviceProvider) { if (Member == null) { throw new InvalidOperationException(SR.Get(SRID.MarkupExtensionStaticMember)); } object value; if (MemberType != null) { value = SystemResourceKey.GetSystemResourceKey(MemberType.Name + "." + Member); if (value != null) { return(value); } } else { value = SystemResourceKey.GetSystemResourceKey(Member); if (value != null) { return(value); } // Validate the _member int dotIndex = Member.IndexOf('.'); if (dotIndex < 0) { throw new ArgumentException(SR.Get(SRID.MarkupExtensionBadStatic, Member)); } // Pull out the type substring (this will include any XML prefix, e.g. "av:Button") string typeString = Member.Substring(0, dotIndex); if (typeString == string.Empty) { throw new ArgumentException(SR.Get(SRID.MarkupExtensionBadStatic, Member)); } // Get the IXamlTypeResolver from the service provider if (serviceProvider == null) { throw new ArgumentNullException("serviceProvider"); } IXamlTypeResolver xamlTypeResolver = serviceProvider.GetService(typeof(IXamlTypeResolver)) as IXamlTypeResolver; if (xamlTypeResolver == null) { throw new ArgumentException(SR.Get(SRID.MarkupExtensionNoContext, GetType().Name, "IXamlTypeResolver")); } // Use the type resolver to get a Type instance MemberType = xamlTypeResolver.Resolve(typeString); // Get the member name substring Member = Member.Substring(dotIndex + 1, Member.Length - dotIndex - 1); } value = CommandConverter.GetKnownControlCommand(MemberType, Member); if (value != null) { return(value); } return(base.ProvideValue(serviceProvider)); }
// Token: 0x06006C01 RID: 27649 RVA: 0x001F15A4 File Offset: 0x001EF7A4 public override object ProvideValue(IServiceProvider serviceProvider) { if (base.Member == null) { throw new InvalidOperationException(SR.Get("MarkupExtensionStaticMember")); } object obj; if (base.MemberType != null) { obj = SystemResourceKey.GetSystemResourceKey(base.MemberType.Name + "." + base.Member); if (obj != null) { return(obj); } } else { obj = SystemResourceKey.GetSystemResourceKey(base.Member); if (obj != null) { return(obj); } int num = base.Member.IndexOf('.'); if (num < 0) { throw new ArgumentException(SR.Get("MarkupExtensionBadStatic", new object[] { base.Member })); } string text = base.Member.Substring(0, num); if (text == string.Empty) { throw new ArgumentException(SR.Get("MarkupExtensionBadStatic", new object[] { base.Member })); } if (serviceProvider == null) { throw new ArgumentNullException("serviceProvider"); } IXamlTypeResolver xamlTypeResolver = serviceProvider.GetService(typeof(IXamlTypeResolver)) as IXamlTypeResolver; if (xamlTypeResolver == null) { throw new ArgumentException(SR.Get("MarkupExtensionNoContext", new object[] { base.GetType().Name, "IXamlTypeResolver" })); } base.MemberType = xamlTypeResolver.Resolve(text); base.Member = base.Member.Substring(num + 1, base.Member.Length - num - 1); } obj = CommandConverter.GetKnownControlCommand(base.MemberType, base.Member); if (obj != null) { return(obj); } return(base.ProvideValue(serviceProvider)); }