Browse Source

XamlObjectServiceProvider should also return XamlTypeResolverProvider (it's used in XamlPropertyInfo)

pull/586/head
jogibear9988 11 years ago
parent
commit
78a9c71acb
  1. 124
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.XamlDom/Project/XamlObjectServiceProvider.cs

124
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.XamlDom/Project/XamlObjectServiceProvider.cs

@ -29,7 +29,7 @@ namespace ICSharpCode.WpfDesign.XamlDom
/// A service provider that provides the IProvideValueTarget and IXamlTypeResolver services. /// A service provider that provides the IProvideValueTarget and IXamlTypeResolver services.
/// No other services (e.g. from the document's service provider) are offered. /// No other services (e.g. from the document's service provider) are offered.
/// </summary> /// </summary>
public class XamlObjectServiceProvider : IServiceProvider, IProvideValueTarget, IXamlSchemaContextProvider, IAmbientProvider public class XamlObjectServiceProvider : IServiceProvider, IProvideValueTarget, IXamlSchemaContextProvider, IAmbientProvider
{ {
/// <summary> /// <summary>
/// Creates a new XamlObjectServiceProvider instance. /// Creates a new XamlObjectServiceProvider instance.
@ -61,12 +61,16 @@ namespace ICSharpCode.WpfDesign.XamlDom
if (serviceType == typeof(IXamlTypeResolver)) { if (serviceType == typeof(IXamlTypeResolver)) {
return Resolver; return Resolver;
} }
if (serviceType == typeof(IXamlSchemaContextProvider)) { if (serviceType == typeof(XamlTypeResolverProvider))
return this; {
} return Resolver;
if (serviceType == typeof(IAmbientProvider)) { }
return this; if (serviceType == typeof(IXamlSchemaContextProvider)) {
} return this;
}
if (serviceType == typeof(IAmbientProvider)) {
return this;
}
return null; return null;
} }
@ -110,57 +114,57 @@ namespace ICSharpCode.WpfDesign.XamlDom
#endregion #endregion
#region IXamlSchemaContextProvider Members #region IXamlSchemaContextProvider Members
private XamlSchemaContext iCsharpXamlSchemaContext; private XamlSchemaContext iCsharpXamlSchemaContext;
//Maybe we new our own XamlSchemaContext? //Maybe we new our own XamlSchemaContext?
//private class ICsharpXamlSchemaContext : XamlSchemaContext //private class ICsharpXamlSchemaContext : XamlSchemaContext
//{ //{
// public override XamlType GetXamlType(Type type) // public override XamlType GetXamlType(Type type)
// { // {
// return base.GetXamlType(type); // return base.GetXamlType(type);
// } // }
//} //}
public XamlSchemaContext SchemaContext public XamlSchemaContext SchemaContext
{ {
get get
{ {
return iCsharpXamlSchemaContext = iCsharpXamlSchemaContext ?? new XamlSchemaContext(); return iCsharpXamlSchemaContext = iCsharpXamlSchemaContext ?? new XamlSchemaContext();
} }
} }
#endregion #endregion
#region IAmbientProvider Members #region IAmbientProvider Members
public AmbientPropertyValue GetFirstAmbientValue(IEnumerable<XamlType> ceilingTypes, params XamlMember[] properties) public AmbientPropertyValue GetFirstAmbientValue(IEnumerable<XamlType> ceilingTypes, params XamlMember[] properties)
{ {
return null; return null;
} }
public object GetFirstAmbientValue(params XamlType[] types) public object GetFirstAmbientValue(params XamlType[] types)
{ {
return null; return null;
} }
public IEnumerable<AmbientPropertyValue> GetAllAmbientValues(IEnumerable<XamlType> ceilingTypes, params XamlMember[] properties) public IEnumerable<AmbientPropertyValue> GetAllAmbientValues(IEnumerable<XamlType> ceilingTypes, params XamlMember[] properties)
{ {
return new List<AmbientPropertyValue>(); return new List<AmbientPropertyValue>();
} }
public IEnumerable<object> GetAllAmbientValues(params XamlType[] types) public IEnumerable<object> GetAllAmbientValues(params XamlType[] types)
{ {
return new List<object>(); return new List<object>();
} }
public IEnumerable<AmbientPropertyValue> GetAllAmbientValues(IEnumerable<XamlType> ceilingTypes, bool searchLiveStackOnly, IEnumerable<XamlType> types, public IEnumerable<AmbientPropertyValue> GetAllAmbientValues(IEnumerable<XamlType> ceilingTypes, bool searchLiveStackOnly, IEnumerable<XamlType> types,
params XamlMember[] properties) params XamlMember[] properties)
{ {
return new List<AmbientPropertyValue>(); return new List<AmbientPropertyValue>();
} }
#endregion #endregion
} }
} }

Loading…
Cancel
Save