// Token: 0x060015DC RID: 5596 RVA: 0x0006AB34 File Offset: 0x00068D34 private XamlMember FindKnownMember(string name, bool isAttachable) { XamlType xamlType = this; if (this is WpfKnownType) { XamlMember xamlMember; for (;;) { WpfXamlType wpfXamlType = xamlType as WpfXamlType; xamlMember = WpfXamlType.FindKnownMember(wpfXamlType, name, isAttachable); if (xamlMember != null) { break; } xamlType = xamlType.BaseType; if (!(xamlType != null)) { goto IL_35; } } return(xamlMember); } IL_35: return(null); }
// Token: 0x060015DD RID: 5597 RVA: 0x0006AB78 File Offset: 0x00068D78 private XamlMember FindRoutedEventBackedProperty(string name, bool isAttachable, bool skipReadOnlyCheck) { RoutedEvent routedEventFromName = EventManager.GetRoutedEventFromName(name, base.UnderlyingType); XamlMember xamlMember = null; if (routedEventFromName == null) { return(xamlMember); } WpfXamlType wpfXamlType; if (this.IsBamlScenario) { wpfXamlType = (System.Windows.Markup.XamlReader.BamlSharedSchemaContext.GetXamlType(routedEventFromName.OwnerType) as WpfXamlType); } else { wpfXamlType = (System.Windows.Markup.XamlReader.GetWpfSchemaContext().GetXamlType(routedEventFromName.OwnerType) as WpfXamlType); } if (wpfXamlType != null) { xamlMember = WpfXamlType.FindKnownMember(wpfXamlType, name, isAttachable); } if (this.IsBamlScenario) { xamlMember = new WpfXamlMember(routedEventFromName, isAttachable); } else if (isAttachable) { xamlMember = this.GetAttachedRoutedEvent(name, routedEventFromName); if (xamlMember == null) { xamlMember = this.GetRoutedEvent(name, routedEventFromName, skipReadOnlyCheck); } if (xamlMember == null) { xamlMember = new WpfXamlMember(routedEventFromName, true); } } else { xamlMember = this.GetRoutedEvent(name, routedEventFromName, skipReadOnlyCheck); if (xamlMember == null) { xamlMember = this.GetAttachedRoutedEvent(name, routedEventFromName); } if (xamlMember == null) { xamlMember = new WpfXamlMember(routedEventFromName, false); } } if (this.Members.TryAdd(name, xamlMember)) { return(xamlMember); } return(this.Members[name]); }
// Token: 0x060015DE RID: 5598 RVA: 0x0006AC74 File Offset: 0x00068E74 private XamlMember FindDependencyPropertyBackedProperty(string name, bool isAttachable, bool skipReadOnlyCheck) { XamlMember xamlMember = null; DependencyProperty dependencyProperty; if ((dependencyProperty = DependencyProperty.FromName(name, base.UnderlyingType)) != null) { WpfXamlType wpfXamlType; if (this.IsBamlScenario) { wpfXamlType = (System.Windows.Markup.XamlReader.BamlSharedSchemaContext.GetXamlType(dependencyProperty.OwnerType) as WpfXamlType); } else { wpfXamlType = (System.Windows.Markup.XamlReader.GetWpfSchemaContext().GetXamlType(dependencyProperty.OwnerType) as WpfXamlType); } if (wpfXamlType != null) { xamlMember = WpfXamlType.FindKnownMember(wpfXamlType, name, isAttachable); } if (xamlMember == null) { if (this.IsBamlScenario) { xamlMember = new WpfXamlMember(dependencyProperty, isAttachable); } else if (isAttachable) { xamlMember = this.GetAttachedDependencyProperty(name, dependencyProperty); if (xamlMember == null) { return(null); } } else { xamlMember = this.GetRegularDependencyProperty(name, dependencyProperty, skipReadOnlyCheck); if (xamlMember == null) { xamlMember = this.GetAttachedDependencyProperty(name, dependencyProperty); } if (xamlMember == null) { xamlMember = new WpfXamlMember(dependencyProperty, false); } } return(this.CacheAndReturnXamlMember(xamlMember)); } } return(xamlMember); }
// Token: 0x060015D8 RID: 5592 RVA: 0x0006AA14 File Offset: 0x00068C14 private XamlMember FindMember(string name, bool isAttached, bool skipReadOnlyCheck) { XamlMember xamlMember = this.FindKnownMember(name, isAttached); if (xamlMember != null) { return(xamlMember); } xamlMember = this.FindDependencyPropertyBackedProperty(name, isAttached, skipReadOnlyCheck); if (xamlMember != null) { return(xamlMember); } xamlMember = this.FindRoutedEventBackedProperty(name, isAttached, skipReadOnlyCheck); if (xamlMember != null) { return(xamlMember); } if (isAttached) { xamlMember = base.LookupAttachableMember(name); } else { xamlMember = base.LookupMember(name, skipReadOnlyCheck); } WpfKnownType wpfXamlType; if (xamlMember != null && (wpfXamlType = (xamlMember.DeclaringType as WpfKnownType)) != null) { XamlMember xamlMember2 = WpfXamlType.FindKnownMember(wpfXamlType, name, isAttached); if (xamlMember2 != null) { return(xamlMember2); } } return(xamlMember); }