示例#1
0
        private static OmniGuiXamlLoader GetLoader()
        {
            var omniGuiXamlLoader = new OmniGuiXamlLoader(new List <Assembly>
            {
                Assembly.Load(new AssemblyName("OmniGui")),
                Assembly.Load(new AssemblyName("OmniGui.Xaml")),
                Assembly.Load(new AssemblyName("OmniGui.Tests"))
            });

            return(omniGuiXamlLoader);
        }
示例#2
0
        private static OmniGuiXamlLoader GetLoader()
        {
            var omniGuiXamlLoader = new OmniGuiXamlLoader(new List <Assembly>
            {
                Assembly.Load(new AssemblyName("OmniGui")),
                Assembly.Load(new AssemblyName("OmniGui.Xaml")),
                Assembly.Load(new AssemblyName("OmniGui.Tests"))
            }, () => new List <ControlTemplate>(), new TypeResolver(() => new List <ControlTemplate>()));

            return(omniGuiXamlLoader);
        }
示例#3
0
        private async void OnLoaded(object sender, RoutedEventArgs routedEventArgs)
        {
            var xamlLoader = new OmniGuiXamlLoader(new[]
            {
                Assembly.Load(new AssemblyName("OmniGui")),
                Assembly.Load(new AssemblyName("OmniGui.Xaml")),
                Assembly.Load(new AssemblyName("UwpApp")),
                Assembly.Load(new AssemblyName("Common"))
            });

            layout = (Layout)xamlLoader.Load(await ReadAllText("Layout.xaml")).Instance;
            var container = (Container)xamlLoader.Load(await ReadAllText("Container.xaml")).Instance;

            TemplateInflator.Inflate(layout, container.ControlTemplates);
            layout.DataContext = new SampleViewModel(new UwpMessageService());
        }
示例#4
0
        public MainWindow()
        {
            InitializeComponent();

            Platform.Current = new Platform
            {
                TextEngine  = new WpfTextEngine(),
                EventDriver = new WpfEventProcessor(this)
            };

            var xamlLoader = new OmniGuiXamlLoader(Assemblies.AssembliesInAppFolder.ToArray());

            layout = (Layout)xamlLoader.Load(File.ReadAllText("Layout.xaml")).Instance;
            var container = (Container)xamlLoader.Load(File.ReadAllText("Container.xaml")).Instance;

            TemplateInflator.Inflate(layout, container.ControlTemplates);
            layout.DataContext = new SampleViewModel(new WpfMessageBoxService());
        }
示例#5
0
        public MainWindow()
        {
            InitializeComponent();

            Platform.Current = new WpfPlatform(this);



            locator = new TypeLocator(() => ControlTemplates);
            var xamlLoader = new OmniGuiXamlLoader(Assemblies.AssembliesInAppFolder.ToArray(), () => ControlTemplates, locator);

            layout = (Layout)xamlLoader.Load(File.ReadAllText("Layout.xaml")).Instance;
            var container = (Container)xamlLoader.Load(File.ReadAllText("Container.xaml")).Instance;

            new TemplateInflator().Inflate(layout, container.ControlTemplates);
            ControlTemplates   = container.ControlTemplates;
            layout.DataContext = new SampleViewModel(new WpfMessageBoxService());
        }
示例#6
0
        public OmniGuiControl()
        {
            Focusable = true;

            Observable
            .FromEventPattern <MouseButtonEventHandler, MouseEventArgs>(
                ev => PreviewMouseDown += ev,
                ev => PreviewMouseDown -= ev)
            .Subscribe(p => Focus());

            Observable
            .FromEventPattern <DependencyPropertyChangedEventHandler, DependencyPropertyChangedEventArgs>(
                ev => DataContextChanged += ev,
                ev => DataContextChanged -= ev)
            .Subscribe(TrySetDataContext);

            var deps        = new Platform(new WpfEventSource(this), new WpfRenderSurface(this), new WpfTextEngine());
            var typeLocator = new TypeLocator(() => ResourceStore, deps, () => XamlLoader.StringSourceValueConverter);

            XamlLoader = new OmniGuiXamlLoader(Assemblies.AssembliesInAppFolder.ToArray(), typeLocator, () => new StyleWatcher(ResourceStore.Styles));
        }
示例#7
0
        public OmniGuiControl()
        {
            DefaultStyleKey = typeof(OmniGuiControl);
            Log.Information("Creado control");

            Observable
            .FromEventPattern <TappedEventHandler, TappedRoutedEventArgs>(
                ev => Tapped += ev,
                ev => Tapped -= ev)
            .Subscribe(p => Focus(FocusState.Programmatic));

            Observable
            .FromEventPattern <TypedEventHandler <FrameworkElement, DataContextChangedEventArgs>,
                               DataContextChangedEventArgs>(
                ev => DataContextChanged += ev,
                ev => DataContextChanged -= ev)
            .Subscribe(dc => TrySetDataContext(dc.EventArgs.NewValue));

            uwpTextEngine = new UwpTextEngine();
            var platform    = new Platform(new UwpEventSource(this), new UwpRenderSurface(this), uwpTextEngine);
            var typeLocator = new TypeLocator(() => ResourceStore, platform, () => XamlLoader.StringSourceValueConverter);

            XamlLoader = new OmniGuiXamlLoader(Assemblies, typeLocator, () => new StyleWatcher(ResourceStore.Styles));
        }