static VirtualizingTilePanel()
        {
            var style = CreateDefaultStyles();

            StyleProperty.OverrideMetadata(typeof(VirtualizingTilePanel), new FrameworkPropertyMetadata(style));

            // Supported.
            CacheLengthProperty.OverrideMetadata(typeof(VirtualizingTilePanel),
                                                 new FrameworkPropertyMetadata(new VirtualizationCacheLength(1, 1)));

            // Supported.
            CacheLengthUnitProperty.OverrideMetadata(typeof(VirtualizingTilePanel),
                                                     new FrameworkPropertyMetadata(VirtualizationCacheLengthUnit.Page));

            // Not supported, ignores values apart from Pixel.
            ScrollUnitProperty.OverrideMetadata(typeof(VirtualizingTilePanel),
                                                new FrameworkPropertyMetadata(ScrollUnit.Pixel));

            // Not supported, always enabled.
            IsVirtualizingProperty.OverrideMetadata(typeof(VirtualizingTilePanel),
                                                    new FrameworkPropertyMetadata(true));

            // Not supported, ignores values apart from Recycling.
            VirtualizationModeProperty.OverrideMetadata(typeof(VirtualizingTilePanel),
                                                        new FrameworkPropertyMetadata(VirtualizationMode.Recycling));
        }
Beispiel #2
0
        /// <summary>
        /// Gets style properties (attributes converted to style properties)
        /// </summary>
        /// <param name="type"></param>
        /// <param name="restrictToSerializableTypes"></param>
        /// <returns></returns>
        public static List <StyleProperty> GetStyleProperties(Type type, bool restrictToSerializableTypes = false)
        {
            var attributes = GetStyleAttributes(type);

            List <StyleProperty> list = new List <StyleProperty>();

            foreach (var attribute in attributes)
            {
                /* with "skinClass" style, the Type isn't required. Set it here */
                if (attribute.Name == "skinClass" /* && null == attribute.Type*/)
                {
                    attribute.Type    = typeof(string);
                    attribute.Default = null;
                }

                if (restrictToSerializableTypes && StyleProperty.NonSerializableStyleTypes.Contains(attribute.Type))
                {
                    continue;
                }

                //if (!restrictToSerializableTypes || StyleProperty.AlowedTypes.ContainsKey(attribute.GetType()))
                try
                {
                    list.Add(StyleProperty.FromAttribute(attribute));
                }
                catch (StylePropertyCreationException ex)
                {
                    // cannot be created
                }
            }

            return(list);
        }
Beispiel #3
0
        internal static void RemoveVariable(this StyleSheet styleSheet, StyleProperty property)
        {
            // Undo/Redo
            Undo.RegisterCompleteObjectUndo(styleSheet, BuilderConstants.ChangeUIStyleValueUndoMessage);

            Array.Clear(property.values, 0, property.values.Length);
        }
Beispiel #4
0
        public bool OnFieldValueChange(StyleProperty styleProperty, StyleSheet styleSheet)
        {
            var stylePropertyValueCount = styleProperty.values.Length;
            var isNewValue = stylePropertyValueCount == 0;

            if (!isNewValue && (
                    stylePropertyValueCount < 2 ||
                    styleProperty.values[0].valueType != StyleValueType.Dimension ||
                    styleProperty.values[1].valueType != StyleValueType.Dimension))
            {
                Undo.RegisterCompleteObjectUndo(styleSheet, BuilderConstants.ChangeUIStyleValueUndoMessage);
                styleProperty.values = new StyleValueHandle[0];
                isNewValue           = true;
            }

            // if the translate property was already defined then ...
            if (!isNewValue)
            {
                styleSheet.SetValue(styleProperty.values[0], value.x);
                styleSheet.SetValue(styleProperty.values[1], value.y);
            }
            else
            {
                styleSheet.AddValue(styleProperty, value.x);
                styleSheet.AddValue(styleProperty, value.y);
            }
            return(isNewValue);
        }
Beispiel #5
0
 static KeyTip()
 {
     // Override metadata to allow slyling
     //StyleProperty.OverrideMetadata(typeof(KeyTip), new FrameworkPropertyMetadata(null, new CoerceValueCallback(OnCoerceStyle)));
     DefaultStyleKeyProperty.OverrideMetadata(typeof(KeyTip), new FrameworkPropertyMetadata(typeof(KeyTip)));
     StyleProperty.OverrideMetadata(typeof(KeyTip), new FrameworkPropertyMetadata(null, new CoerceValueCallback(OnCoerceStyle)));
 }
        /// <summary>
        /// Remove image width & heigth style
        /// </summary>
        /// <param name="html"></param>
        /// <returns></returns>
        public static string RemoveSizeStyle(string html)
        {
            var parser   = new HtmlParser();
            var document = parser.Parse(html);

            foreach (var ImgTag in document.QuerySelectorAll("img"))
            {
                ImgTag.RemoveAttribute("width");
                ImgTag.RemoveAttribute("height");

                List <string> ActualStyle = new List <string>();
                if (!ImgTag.GetAttribute("style").IsNullOrEmpty())
                {
                    ActualStyle = ImgTag.GetAttribute("style").Split(';').ToList();;
                }

                string NewStyle = string.Empty;
                if (ActualStyle.Count > 0)
                {
                    foreach (string StyleProperty in ActualStyle)
                    {
                        if (!StyleProperty.ToLower().Contains("width") && !StyleProperty.ToLower().Contains("height"))
                        {
                            NewStyle += StyleProperty.ToLower() + ";";
                        }
                    }
                }

                ImgTag.SetAttribute("style", NewStyle);
            }

            return(document.Body.InnerHtml);
        }
Beispiel #7
0
        public MainWindow()
        {
            InitializeComponent();             // Always needs to happen first

            // Triggers the font family and size to update to what is defined in the xaml window style
            StyleProperty.OverrideMetadata(typeof(Window), new FrameworkPropertyMetadata {
                DefaultValue = FindResource(typeof(Window))
            });

            // Set up the favorites section
            ListBoxFavorites.ItemsSource = FavoritesViewModel.Default.FavoriteDirectories;

            // Set up the opening directory
            var newWindowPath = Settings.Default.NewWindowPath.ToNormalizedPath();

            if (string.IsNullOrWhiteSpace(newWindowPath) || !Directory.Exists(newWindowPath))
            {
                newWindowPath = FileUtil.GetUserProfilePath();
                Settings.Default.NewWindowPath = newWindowPath;
                Settings.Default.Save();
            }

            // Show the opening directory
            PushPane(DirectoryViewModel.Get(Settings.Default.NewWindowPath.ToNormalizedPath()));
            UpdateTitleAndStatus();
        }
        void SetTextAttributes(UITextAttributes textAttributes, StyleProperty property)
        {
            if (property.Global)
                return;

            View.SetTitleTextAttributes(textAttributes, UIControlState.Normal);
        }
        //-------------------------------------------------------------------
        //
        //  Static Constructors & Delegates
        //
        //-------------------------------------------------------------------

        #region Static Constructors & Delegates

        static Image()
        {
            Style style = CreateDefaultStyles();

            StyleProperty.OverrideMetadata(typeof(Image), new FrameworkPropertyMetadata(style));

            //
            // The Stretch & StretchDirection properties are AddOwner'ed from a class which is not
            // base class for Image so the metadata with flags get lost. We need to override them
            // here to make it work again.
            //
            StretchProperty.OverrideMetadata(
                typeof(Image),
                new FrameworkPropertyMetadata(
                    Stretch.Uniform,
                    FrameworkPropertyMetadataOptions.AffectsMeasure
                    )
                );

            StretchDirectionProperty.OverrideMetadata(
                typeof(Image),
                new FrameworkPropertyMetadata(
                    StretchDirection.Both,
                    FrameworkPropertyMetadataOptions.AffectsMeasure
                    )
                );
        }
Beispiel #10
0
        public static BuilderScale GetScale(this StyleSheet styleSheet, StyleProperty styleProperty)
        {
            int valCount = styleProperty.values.Length;

            if (valCount > 0)
            {
                var val1 = new StylePropertyValue()
                {
                    handle = styleProperty.values[0], sheet = styleSheet
                };
                var val2 = valCount > 1 ? new StylePropertyValue()
                {
                    handle = styleProperty.values[1], sheet = styleSheet
                } : default;
                var zval = valCount > 2 ? new StylePropertyValue()
                {
                    handle = styleProperty.values[2], sheet = styleSheet
                } : default;

                return(new BuilderScale(StylePropertyReader.ReadScale(valCount, val1, val2, zval)));
            }
            else
            {
                return(new BuilderScale
                {
                    value = Vector3.one
                });
            }
        }
Beispiel #11
0
        public static BuilderTranslate GetTranslate(this StyleSheet styleSheet, StyleProperty styleProperty)
        {
            int valCount = styleProperty.values.Length;

            if (valCount > 0)
            {
                var xval = new StylePropertyValue()
                {
                    handle = styleProperty.values[0], sheet = styleSheet
                };
                var yval = valCount > 1 ? new StylePropertyValue()
                {
                    handle = styleProperty.values[1], sheet = styleSheet
                } : default;
                var zval = valCount > 2 ? new StylePropertyValue()
                {
                    handle = styleProperty.values[2], sheet = styleSheet
                } : default;

                return(new BuilderTranslate(StylePropertyReader.ReadTranslate(valCount, xval, yval, zval)));
            }
            else
            {
                return(new BuilderTranslate
                {
                    x = new Dimension(0f, Dimension.Unit.Percent),
                    y = new Dimension(0f, Dimension.Unit.Percent)
                });
            }
        }
Beispiel #12
0
        public static BuilderRotate GetRotate(this StyleSheet styleSheet, StyleProperty styleProperty)
        {
            int valCount = styleProperty.values.Length;

            if (valCount > 0)
            {
                var val1 = new StylePropertyValue()
                {
                    handle = styleProperty.values[0], sheet = styleSheet
                };
                var val2 = valCount > 1 ? new StylePropertyValue()
                {
                    handle = styleProperty.values[1], sheet = styleSheet
                } : default;
                var val3 = valCount > 2 ? new StylePropertyValue()
                {
                    handle = styleProperty.values[2], sheet = styleSheet
                } : default;
                var val4 = valCount > 3 ? new StylePropertyValue()
                {
                    handle = styleProperty.values[3], sheet = styleSheet
                } : default;

                return(new BuilderRotate(StylePropertyReader.ReadRotate(valCount, val1, val2, val3, val4)));
            }
            else
            {
                return(new BuilderRotate
                {
                    x = new Dimension(0f, Dimension.Unit.Degree)
                });
            }
        }
Beispiel #13
0
        /// <summary>
        /// Static constructor
        /// </summary>
        static RibbonWindow()
        {
            StyleProperty.OverrideMetadata(typeof(RibbonWindow), new FrameworkPropertyMetadata(null, OnCoerceStyle));
            DefaultStyleKeyProperty.OverrideMetadata(typeof(RibbonWindow), new FrameworkPropertyMetadata(typeof(RibbonWindow)));

            RibbonProperties.TitleBarHeightProperty.OverrideMetadata(typeof(RibbonWindow), new FrameworkPropertyMetadata(OnWindowChromeRelevantPropertyChanged));
        }
Beispiel #14
0
 public void AddComment(StyleProperty property, string comment)
 {
     if (!string.IsNullOrEmpty(comment))
     {
         propertyComments.Add(property, comment);
     }
 }
        public static StyleProperty AddProperty(
            this StyleSheet styleSheet, StyleRule rule, string name,
            string undoMessage = null)
        {
            // Undo/Redo
            if (string.IsNullOrEmpty(undoMessage))
            {
                undoMessage = "Change UI Style Value";
            }
            Undo.RegisterCompleteObjectUndo(styleSheet, undoMessage);

            var newProperty = new StyleProperty
            {
                name = name
            };

            // Create empty values array.
            newProperty.values = new StyleValueHandle[0];

            // Add property to selector's rule's properties.
            var properties = rule.properties.ToList();

            properties.Add(newProperty);
            rule.properties = properties.ToArray();

            StyleSheetCache.ClearCaches();

            return(newProperty);
        }
        static MediaElement()
        {
            Style style = CreateDefaultStyles();

            StyleProperty.OverrideMetadata(typeof(MediaElement), new FrameworkPropertyMetadata(style));

            //
            // The Stretch & StretchDirection properties are AddOwner'ed from a class which is not
            // base class for MediaElement so the metadata with flags get lost. We need to override them
            // here to make it work again.
            //
            StretchProperty.OverrideMetadata(
                typeof(MediaElement),
                new FrameworkPropertyMetadata(
                    Stretch.Uniform,
                    FrameworkPropertyMetadataOptions.AffectsMeasure
                    )
                );

            StretchDirectionProperty.OverrideMetadata(
                typeof(MediaElement),
                new FrameworkPropertyMetadata(
                    StretchDirection.Both,
                    FrameworkPropertyMetadataOptions.AffectsMeasure
                    )
                );

            ControlsTraceLogger.AddControl(TelemetryControls.MediaElement);
        }
        public void UpdateFieldStatus(VisualElement field, StyleProperty property)
        {
            var valueInfo = FieldValueInfo.Get(this, field, property);

            field.SetProperty(BuilderConstants.InspectorFieldValueInfoVEPropertyName, valueInfo);
            UpdateFieldStatusIconAndStyling(field, valueInfo);
            UpdateFieldTooltip(field, valueInfo);
        }
Beispiel #18
0
 static BetterImage() {
     var style = CreateDefaultStyles();
     StyleProperty.OverrideMetadata(typeof(BetterImage), new FrameworkPropertyMetadata(style));
     ClipToBoundsProperty.OverrideMetadata(typeof(BetterImage),
             new FrameworkPropertyMetadata(true, FrameworkPropertyMetadataOptions.AffectsRender));
     BackgroundProperty.OverrideMetadata(typeof(BetterImage),
             new FrameworkPropertyMetadata(new SolidColorBrush(Colors.Transparent), FrameworkPropertyMetadataOptions.AffectsRender));
 }
Beispiel #19
0
 static RibbonTabItem()
 {
     DefaultStyleKeyProperty.OverrideMetadata(typeof(RibbonTabItem), new FrameworkPropertyMetadata(typeof(RibbonTabItem)));
     FocusableProperty.AddOwner(typeof(RibbonTabItem), new FrameworkPropertyMetadata(OnFocusableChanged, CoerceFocusable));
     ToolTipProperty.OverrideMetadata(typeof(RibbonTabItem), new FrameworkPropertyMetadata(null, CoerceToolTip));
     VisibilityProperty.AddOwner(typeof(RibbonTabItem), new FrameworkPropertyMetadata(OnVisibilityChanged));
     StyleProperty.OverrideMetadata(typeof(RibbonTabItem), new FrameworkPropertyMetadata(null, OnCoerceStyle));
 }
Beispiel #20
0
        /// <summary>
        /// Static constructor
        /// </summary>
        static ColorGallery()
        {
            Type type = typeof(ColorGallery);

            DefaultStyleKeyProperty.OverrideMetadata(type, new FrameworkPropertyMetadata(type));
            ContextMenuService.Attach(type);
            StyleProperty.OverrideMetadata(type, new FrameworkPropertyMetadata(null, new CoerceValueCallback(OnCoerceStyle)));
        }
 static RibbonToolBar()
 {
     // Override default style
     DefaultStyleKeyProperty.OverrideMetadata(typeof(RibbonToolBar), new FrameworkPropertyMetadata(typeof(RibbonToolBar)));
     // Disable QAT for this control
     CanAddToQuickAccessToolBarProperty.OverrideMetadata(typeof(RibbonToolBar), new FrameworkPropertyMetadata(false));
     StyleProperty.OverrideMetadata(typeof(RibbonToolBar), new FrameworkPropertyMetadata(null, new CoerceValueCallback(OnCoerceStyle)));
 }
Beispiel #22
0
        /// <summary>
        /// Initializes the <see cref="MediaElement"/> class.
        /// </summary>
        static MediaElement()
        {
            var style = new Style(typeof(MediaElement), null);

            style.Setters.Add(new Setter(FlowDirectionProperty, FlowDirection.LeftToRight));
            style.Seal();
            StyleProperty.OverrideMetadata(typeof(MediaElement), new FrameworkPropertyMetadata(style));
        }
 public void EndProperty()
 {
     StyleSheetBuilder.Log("Ending property");
     Debug.Assert(this.m_BuilderState == StyleSheetBuilder.BuilderState.Property);
     this.m_BuilderState           = StyleSheetBuilder.BuilderState.Rule;
     this.m_CurrentProperty.values = this.m_CurrentValues.ToArray();
     this.m_CurrentProperty        = null;
     this.m_CurrentValues.Clear();
 }
Beispiel #24
0
        static RibbonGroupBox()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(RibbonGroupBox), new FrameworkPropertyMetadata(typeof(RibbonGroupBox)));
            VisibilityProperty.AddOwner(typeof(RibbonGroupBox), new FrameworkPropertyMetadata(OnVisibilityChanged));
            ContextMenuProperty.AddOwner(typeof(RibbonGroupBox), new FrameworkPropertyMetadata(null, OnContextMenuChanged, CoerceContextMenu));

            PopupService.Attach(typeof(RibbonGroupBox));
            StyleProperty.OverrideMetadata(typeof(RibbonGroupBox), new FrameworkPropertyMetadata(null, new CoerceValueCallback(OnCoerceStyle)));
        }
Beispiel #25
0
        public void TryGet(StyleProperty property, Action <string> next)
        {
            string comment;

            if (propertyComments.TryGetValue(property, out comment))
            {
                next(comment);
            }
        }
        static GroupSeparatorMenuItem()
        {
            Type type = typeof(GroupSeparatorMenuItem);

            DefaultStyleKeyProperty.OverrideMetadata(type, new FrameworkPropertyMetadata(type));
            StyleProperty.OverrideMetadata(type, new FrameworkPropertyMetadata(null, new CoerceValueCallback(OnCoerceStyle)));
            IsEnabledProperty.OverrideMetadata(type, new FrameworkPropertyMetadata(false, null, CoerceIsEnabledAndTabStop));
            IsTabStopProperty.OverrideMetadata(type, new FrameworkPropertyMetadata(false, null, CoerceIsEnabledAndTabStop));
        }
Beispiel #27
0
 public MainWindow()
 {
     InitializeComponent();
     DataContext = new MainWindowViewModel();
     StyleProperty.OverrideMetadata(typeof(Window), new FrameworkPropertyMetadata
     {
         DefaultValue = FindResource(typeof(Window))
     });
 }
Beispiel #28
0
        static RibbonTabControl()
        {
            var type = typeof(RibbonTabControl);

            DefaultStyleKeyProperty.OverrideMetadata(type, new FrameworkPropertyMetadata(typeof(RibbonTabControl)));
            ContextMenuService.Attach(type);
            PopupService.Attach(type);
            StyleProperty.OverrideMetadata(type, new FrameworkPropertyMetadata(null, OnCoerceStyle));
        }
Beispiel #29
0
        static Button()
        {
            Type type = typeof(Button);

            DefaultStyleKeyProperty.OverrideMetadata(type, new FrameworkPropertyMetadata(type));
            ContextMenuService.Attach(type);
            ToolTipService.Attach(type);
            StyleProperty.OverrideMetadata(typeof(Button), new FrameworkPropertyMetadata(null, new CoerceValueCallback(OnCoerceStyle)));
        }
Beispiel #30
0
 /// <summary>
 /// Creates a builder with all style properties inherited.
 /// </summary>
 public StyleBuilder()
 {
     font = StyleProperty<Font>.Inherit;
     color = StyleProperty<Color>.Inherit;
     tabStopRuler = StyleProperty<TabStopRuler>.Inherit;
     wordWrap = StyleProperty<bool>.Inherit;
     leftMargin = StyleProperty<int>.Inherit;
     rightMargin = StyleProperty<int>.Inherit;
     firstLineIndent = StyleProperty<int>.Inherit;
 }
Beispiel #31
0
        static ToggleButton()
        {
            Type type = typeof(ToggleButton);

            DefaultStyleKeyProperty.OverrideMetadata(type, new FrameworkPropertyMetadata(type));
            IsCheckedProperty.OverrideMetadata(type, new FrameworkPropertyMetadata(ToggleButtonHelper.OnIsCheckedChanged, ToggleButtonHelper.CoerceIsChecked));
            ContextMenuService.Attach(type);
            ToolTipService.Attach(type);
            StyleProperty.OverrideMetadata(type, new FrameworkPropertyMetadata(null, new CoerceValueCallback(OnCoerceStyle)));
        }
Beispiel #32
0
        public string Get(StyleProperty property)
        {
            string comment;

            if (!propertyComments.TryGetValue(property, out comment))
            {
                comment = "";
            }
            return(comment);
        }
Beispiel #33
0
        /// <summary>
        /// Creates a builder initialized as a copy of an existing style builder.
        /// </summary>
        /// <param name="styleBuilder">The style builder to copy.</param>
        /// <exception cref="ArgumentNullException">Thrown if <paramref name="styleBuilder"/> is null.</exception>
        public StyleBuilder(StyleBuilder styleBuilder)
        {
            if (styleBuilder == null)
                throw new ArgumentNullException("styleBuilder");

            font = styleBuilder.Font;
            color = styleBuilder.Color;
            tabStopRuler = styleBuilder.TabStopRuler;
            wordWrap = styleBuilder.WordWrap;
            leftMargin = styleBuilder.LeftMargin;
            rightMargin = styleBuilder.RightMargin;
            firstLineIndent = styleBuilder.FirstLineIndent;
        }
Beispiel #34
0
        /// <summary>
        /// Creates a builder initialized as a copy of an existing style.
        /// </summary>
        /// <param name="style">The style to copy.</param>
        /// <exception cref="ArgumentNullException">Thrown if <paramref name="style"/> is null.</exception>
        public StyleBuilder(Style style)
        {
            if (style == null)
                throw new ArgumentNullException("style");

            font = new StyleProperty<Font>(style.Font);
            color = new StyleProperty<Color>(style.Color);
            tabStopRuler = new StyleProperty<TabStopRuler>(style.TabStopRuler);
            wordWrap = new StyleProperty<bool>(style.WordWrap);
            leftMargin = new StyleProperty<int>(style.LeftMargin);
            rightMargin = new StyleProperty<int>(style.RightMargin);
            firstLineIndent = new StyleProperty<int>(style.FirstLineIndent);
        }
		private StyleProperty ParseProperty(ITree child)
		{
			var property = new StyleProperty { Name = child.GetChild(0).Text };

			for (var i = 1; i < child.ChildCount; i++)
			{
				var node = child.GetChild(i);
				if (node.Text == "EXPR")
				{
					property.Values.Add(ParseExpression(node.GetChild(0)));
				}
				else
				{
					property.Values.Add(new LiteralExpression(node.Text));
				}
			}

			return property;
		}
 public void GetValueOrInherit_ReturnsValue()
 {
     var property = new StyleProperty<int>(5);
     Assert.AreEqual(5, property.GetValueOrInherit(5));
 }
 public void Value_ReturnsValue()
 {
     var property = new StyleProperty<int>(5);
     Assert.AreEqual(5, property.Value);
 }
 public void Inherited_ReturnsFalse()
 {
     var property = new StyleProperty<int>(5);
     Assert.IsFalse(property.Inherited);
 }