public AvaloniaRuntimeTypeSource(ITypeFactory typeFactory) { var namespaceRegistry = new AvaloniaNamespaceRegistry(); var featureProvider = new AvaloniaTypeFeatureProvider(); var typeRepository = new AvaloniaTypeRepository(namespaceRegistry, typeFactory, featureProvider); inner = new RuntimeTypeSource(typeRepository, namespaceRegistry); }
public PerspexRuntimeTypeSource(ITypeFactory typeFactory) { var namespaceRegistry = new PerspexNamespaceRegistry(); var featureProvider = new PerspexTypeFeatureProvider(); var typeRepository = new PerspexTypeRepository(namespaceRegistry, typeFactory, featureProvider); inner = new RuntimeTypeSource(typeRepository, namespaceRegistry); }
public void TopDownContainsOuterObject() { sut.Process(source.InstanceWithChild); var dummyClassXamlType = RuntimeTypeSource.GetByType(typeof(DummyClass)); var lastInstance = sut.TopDownValueContext.GetLastInstance(dummyClassXamlType); Assert.IsType(typeof(DummyClass), lastInstance); }
private static AutoInflatingTypeFactory CreateSut() { var inflatableTypeFactory = new DummyAutoInflatingTypeFactory( new TypeFactory(), new InflatableTranslator(), typeFactory => new XmlLoader(new DummyParserFactory(RuntimeTypeSource.FromAttributes(Assemblies.AssembliesInAppFolder)))); return(inflatableTypeFactory); }
public void RegisterOneChildInNameScope() { RuntimeTypeSource.ClearNamescopes(); RuntimeTypeSource.EnableNameScope <DummyClass>(); var actualInstance = Loader.FromString(File.LoadAsString(@"Xaml\Dummy\ChildInNameScope.xaml")); var childInScope = ((DummyObject)actualInstance).Find("MyObject"); Assert.IsType(typeof(ChildClass), childInScope); }
public void RegisterOneChildInNameScopeWithoutDirective() { RuntimeTypeSource.ClearNamescopes(); RuntimeTypeSource.EnableNameScope <DummyClass>(); var actualInstance = Loader.FromString(Dummy.ChildInNamescopeNoNameDirective); var childInScope = ((DummyObject)actualInstance).Find("MyObject"); Assert.IsType(typeof(ChildClass), childInScope); }
public void RegisterOneChildInNameScope() { RuntimeTypeSource.ClearNamescopes(); RuntimeTypeSource.EnableNameScope <DummyClass>(); sut.Process(source.ChildInNameScope); var actual = sut.Result; var childInScope = ((DummyObject)actual).Find("MyObject"); Assert.IsType(typeof(ChildClass), childInScope); }
public void RegisterChildInDeeperNameScope() { RuntimeTypeSource.ClearNamescopes(); RuntimeTypeSource.EnableNameScope <Window>(); sut.Process(source.ChildInDeeperNameScope); var actual = sut.Result; var textBlock1 = ((Window)actual).Find("MyTextBlock"); var textBlock2 = ((Window)actual).Find("MyOtherTextBlock"); Assert.IsType(typeof(TextBlock), textBlock1); Assert.IsType(typeof(TextBlock), textBlock2); }
private static void Main() { var runtimeTypeSource = RuntimeTypeSource.FromAttributes(Assemblies.AssembliesInAppFolder); var loader = new DefaultLoader(runtimeTypeSource); var model = (Zoo)loader.FromPath("Model.xaml", new Settings { InstanceLifeCycleListener = new MyListener() }); var byName = model.Find("Rocky"); Console.WriteLine("Loaded model:\n{0}", model); Console.WriteLine($"Searching an animal by name in this namescope (Zoo instance): \n\tRocky => {byName}"); Console.ReadLine(); }
private static IRuntimeTypeSource CreateRuntimeTypeSource() { var typeFactory = new MultiFactory( new List <TypeFactoryRegistration> { new TypeFactoryRegistration(new TypeFactory(), type => type != typeof(ChildClass)), new TypeFactoryRegistration(new TypeFactoryMock((type, args) => new ChildClass { Name = "InnerName" }), type => type == typeof(ChildClass)), }); var typeFeatureProvider = new TypeFeatureProvider(new TypeConverterProvider()); var xamlTypeRepository = new TypeRepository(new NamespaceRegistry(), typeFactory, typeFeatureProvider); var typeSource = new RuntimeTypeSource(xamlTypeRepository, new NamespaceRegistry()); typeFeatureProvider.RegisterMetadata(typeof(DummyObject), new Metadata { RuntimePropertyName = "Name" }); return(typeSource); }
private static IRuntimeTypeSource CreateRuntimeTypeSource() { var typeFactory = new MultiFactory( new List<TypeFactoryRegistration> { new TypeFactoryRegistration(new TypeFactory(), type => type != typeof (ChildClass)), new TypeFactoryRegistration(new TypeFactoryMock((type, args) => new ChildClass {Name = "InnerName"}), type => type == typeof (ChildClass)), }); var typeFeatureProvider = new TypeFeatureProvider(new TypeConverterProvider()); var xamlTypeRepository = new TypeRepository(new NamespaceRegistry(), typeFactory, typeFeatureProvider); var typeSource = new RuntimeTypeSource(xamlTypeRepository, new NamespaceRegistry()); typeFeatureProvider.RegisterMetadata(typeof (DummyObject), new Metadata {RuntimePropertyName = "Name"}); return typeSource; }