Exemplo n.º 1
0
        /*******************************************************************************
        *       $
        *******************************************************************************/
        /// <summary>
        /// Creates a <see cref="MainWindow"/> object.
        /// </summary>
        public MainWindow()
        {
            Me = this;

            // Prepare the property editor manager
            PropertyEditorManager = new PropertyEditorManager();

            PropertyEditorManager.RegisterDefaultEditor(typeof(VaryDesign), typeof(EnumImageEditor <VaryDesign>));
            PropertyEditorManager.RegisterDefaultEditor(typeof(bool), typeof(BooleanEditor));
            PropertyEditorManager.RegisterDefaultEditor(typeof(BorderPattern), typeof(BorderPatternEditor));
            PropertyEditorManager.RegisterDefaultEditor(typeof(Brush), typeof(BrushEditor));
            PropertyEditorManager.RegisterDefaultEditor(typeof(BorderBackgroundClip), typeof(EnumTextEditor <BorderBackgroundClip>));
            PropertyEditorManager.RegisterDefaultEditor(typeof(CheckDesign), typeof(EnumTextEditor <CheckDesign>));
            PropertyEditorManager.RegisterDefaultEditor(typeof(CheckState), typeof(EnumTextEditor <CheckState>));
            PropertyEditorManager.RegisterDefaultEditor(typeof(CornerRadius), typeof(CornerRadiusEditor));
            PropertyEditorManager.RegisterDefaultEditor(typeof(CornerRadiusMode), typeof(EnumTextEditor <CornerRadiusMode>));
            PropertyEditorManager.RegisterDefaultEditor(typeof(Decimal), typeof(DecimalEditor));
            PropertyEditorManager.RegisterDefaultEditor(typeof(Direction), typeof(EnumTextEditor <Direction>));
            PropertyEditorManager.RegisterDefaultEditor(typeof(Double), typeof(DoubleEditor));
            PropertyEditorManager.RegisterDefaultEditor(typeof(DroplistInputMode), typeof(EnumTextEditor <DroplistInputMode>));
            PropertyEditorManager.RegisterDefaultEditor(typeof(FlexDirection), typeof(EnumTextEditor <FlexDirection>));
            PropertyEditorManager.RegisterDefaultEditor(typeof(FlexWrapping), typeof(EnumTextEditor <FlexWrapping>));
            PropertyEditorManager.RegisterDefaultEditor(typeof(FontFamily), typeof(FontFamilyEditor));
            PropertyEditorManager.RegisterDefaultEditor(typeof(FontSize), typeof(FontSizeEditor));
            PropertyEditorManager.RegisterDefaultEditor(typeof(FontStretch), typeof(EnumImageEditor <FontStretch>));
            PropertyEditorManager.RegisterDefaultEditor(typeof(FontStyle), typeof(EnumTextEditor <FontStyle>));
            PropertyEditorManager.RegisterDefaultEditor(typeof(FontWeight), typeof(FontWeightEditor));
            PropertyEditorManager.RegisterDefaultEditor(typeof(IEnumerable), typeof(ItemsSourceEditor));
            PropertyEditorManager.RegisterDefaultEditor(typeof(ImageSource), typeof(ImageSourceEditor));
            PropertyEditorManager.RegisterDefaultEditor(typeof(int), typeof(IntEditor));
            PropertyEditorManager.RegisterDefaultEditor(typeof(Length), typeof(LengthEditor));
            PropertyEditorManager.RegisterDefaultEditor(typeof(NumericTypeFilter), typeof(EnumTextEditor <NumericTypeFilter>));
            PropertyEditorManager.RegisterDefaultEditor(typeof(Orientation), typeof(EnumImageEditor <Orientation>));
            PropertyEditorManager.RegisterDefaultEditor(typeof(PixyLayout), typeof(EnumImageEditor <PixyLayout>));
            PropertyEditorManager.RegisterDefaultEditor(typeof(PopupClipMode), typeof(EnumTextEditor <PopupClipMode>));
            PropertyEditorManager.RegisterDefaultEditor(typeof(PopupPlacementMode), typeof(EnumImageEditor <PopupPlacementMode>));
            PropertyEditorManager.RegisterDefaultEditor(typeof(PopupTransitionMode), typeof(EnumTextEditor <PopupTransitionMode>));
            PropertyEditorManager.RegisterDefaultEditor(typeof(TextBoxResize), typeof(EnumTextEditor <TextBoxResize>));
            PropertyEditorManager.RegisterDefaultEditor(typeof(ScrollBarVisibility), typeof(EnumTextEditor <ScrollBarVisibility>));
            PropertyEditorManager.RegisterDefaultEditor(typeof(SelectionMode), typeof(EnumTextEditor <SelectionMode>));
            PropertyEditorManager.RegisterDefaultEditor(typeof(SolidColorBrush), typeof(NullableSolidBrushColorEditor));
            PropertyEditorManager.RegisterDefaultEditor(typeof(Stretch), typeof(EnumTextEditor <Stretch>));
            PropertyEditorManager.RegisterDefaultEditor(typeof(string), typeof(TextEditor));
            PropertyEditorManager.RegisterDefaultEditor(typeof(SliderPreviewSource), typeof(EnumTextEditor <SliderPreviewSource>));
            PropertyEditorManager.RegisterDefaultEditor(typeof(SymbolPlacement), typeof(EnumTextEditor <SymbolPlacement>));
            PropertyEditorManager.RegisterDefaultEditor(typeof(TextAlignment), typeof(EnumImageEditor <TextAlignment>));
            PropertyEditorManager.RegisterDefaultEditor(typeof(TextDecorationLines), typeof(EnumImageEditor <TextDecorationLines>));
            PropertyEditorManager.RegisterDefaultEditor(typeof(TextDecorationStyle), typeof(EnumImageEditor <TextDecorationStyle>));
            PropertyEditorManager.RegisterDefaultEditor(typeof(Thickness), typeof(ThicknessEditor));
            PropertyEditorManager.RegisterDefaultEditor(typeof(TrackEdgeDesign), typeof(EnumImageEditor <TrackEdgeDesign>));
            PropertyEditorManager.RegisterDefaultEditor(typeof(GraphicsEffect), typeof(GraphicsEffectEditor));
            PropertyEditorManager.RegisterDefaultEditor(typeof(VaryButtonPlacement), typeof(EnumTextEditor <VaryButtonPlacement>));

            PropertyEditorManager.RegisterEditor(typeof(double), PropertyEditorHint.Double_Percent, typeof(PercentEditor));

            InitializeComponent();

            ((IPropertyEditor)e_backgroundEditor).BindToSourceProperty(e_designSurface, Box.BackgroundProperty);
            e_backgroundEditor.Brush = ImageBrushes.CheckeredDark.Brush;

#if WASM
            var BuildName = "WebAssembly";
#else
            var BuildName = "Windows";
#endif

            e_buildType.Text = BuildName;

            Title = $"Frogui Demo ({BuildName})";

            e_exampleList.ItemViewMatcher = new SingleModelViewMatcher(typeof(ExampleView));
            e_exampleList.ItemsSource     = Examples;
            e_exampleList.AddPropertyChangedListener(Selector.SelectedItemProperty, v => ShowExample((Example)v), true);
            e_exampleList.SelectedIndex = 0;
        }