public ItemLayout(uint item_id = 0, uint id = 0, uint position_x = 0, uint position_y = 0, MetrialColor.Name color_name = MetrialColor.Name.Amber) { mItemId = item_id; mId = id; mPositionX = position_x; mPositionY = position_y; mColorName = color_name; findItem(); }
private void setColor(Button button, MetrialColor.Name color_name) { Style style = new Style(); style.Setters.Add(new Setter(BackgroundProperty, MetrialColor.getBrush(color_name, 3))); style.Setters.Add(new Setter(ForegroundProperty, MetrialColor.getBrush(MetrialColor.Name.White))); Trigger button_pressed_trigger = new Trigger(); //mouse_over_trigger.Property = UIElement.IsMouseOverProperty; button_pressed_trigger.Property = Button.IsPressedProperty; button_pressed_trigger.Value = true; button_pressed_trigger.Setters.Add(new Setter(BackgroundProperty, MetrialColor.getBrush(color_name, 4))); button_pressed_trigger.Setters.Add(new Setter(BorderThicknessProperty, new Thickness(5))); button_pressed_trigger.Setters.Add(new Setter(BorderBrushProperty, MetrialColor.getBrush(color_name, 1))); style.Triggers.Add(button_pressed_trigger); ControlTemplate control_template = new ControlTemplate(typeof(Button)); var border = new FrameworkElementFactory(typeof(Border)); border.Name = "button_border"; border.SetValue(BorderThicknessProperty, new Thickness(0)); border.SetValue(BorderBrushProperty, MetrialColor.getBrush(color_name, 3)); var binding = new TemplateBindingExtension(); binding.Property = BackgroundProperty; border.SetValue(BackgroundProperty, binding); /* border color change on mouse pressed Trigger mouse_over_trigger_border = new Trigger(); mouse_over_trigger_border.Property = Button.IsPressedProperty; mouse_over_trigger_border.Value = true; mouse_over_trigger_border.Setters.Add(new Setter(BorderBrushProperty, MetrialColor.getBrush(mItem.getColorName(), 3), "button_border")); control_template.Triggers.Add(mouse_over_trigger_border); */ FrameworkElementFactory content_presenter = new FrameworkElementFactory(typeof(ContentPresenter)); content_presenter.SetValue(ContentPresenter.HorizontalAlignmentProperty, HorizontalAlignment.Center); content_presenter.SetValue(ContentPresenter.VerticalAlignmentProperty, VerticalAlignment.Center); border.AppendChild(content_presenter); control_template.VisualTree = border; style.Setters.Add(new Setter(TemplateProperty, control_template)); button.Style = style; }
public void setBackgroundColor(MetrialColor.Name color = MetrialColor.Name.DeepOrange, int normal = 3, int press = 5) { Style style = new Style(); style.Setters.Add(new Setter(ForegroundProperty, MetrialColor.getBrush(MetrialColor.Name.White))); // Normal ControlTemplate normal_button_template = new ControlTemplate(typeof(Button)); FrameworkElementFactory normal_button_shape = new FrameworkElementFactory(typeof(Rectangle)); normal_button_shape.SetValue(Shape.FillProperty, MetrialColor.getBrush(color, normal)); //normal_button_shape.SetValue(Shape.StrokeProperty, Brushes.White); //normal_button_shape.SetValue(Shape.StrokeThicknessProperty, 2.0); FrameworkElementFactory normal_button_content_presenter = new FrameworkElementFactory(typeof(ContentPresenter)); normal_button_content_presenter.SetValue(ContentProperty, new TemplateBindingExtension(ContentProperty)); normal_button_content_presenter.SetValue(HorizontalAlignmentProperty, HorizontalAlignment.Center); normal_button_content_presenter.SetValue(VerticalAlignmentProperty, VerticalAlignment.Center); FrameworkElementFactory normal_button_merged_element = new FrameworkElementFactory(typeof(Grid)); normal_button_merged_element.AppendChild(normal_button_shape); normal_button_merged_element.AppendChild(normal_button_content_presenter); normal_button_template.VisualTree = normal_button_merged_element; style.Setters.Add(new Setter(TemplateProperty, normal_button_template)); // For Pressed Trigger button_pressed_trigger = new Trigger(); button_pressed_trigger.Property = Button.IsPressedProperty; button_pressed_trigger.Value = true; ControlTemplate pressed_button_template = new ControlTemplate(typeof(Button)); FrameworkElementFactory pressed_button_shape = new FrameworkElementFactory(typeof(Rectangle)); pressed_button_shape.SetValue(Shape.FillProperty, MetrialColor.getBrush(color, press)); //pressed_button_shape.SetValue(Shape.StrokeProperty, Brushes.White); //pressed_button_shape.SetValue(Shape.StrokeThicknessProperty, 2.0); FrameworkElementFactory pressed_button_button_content_presenter = new FrameworkElementFactory(typeof(ContentPresenter)); pressed_button_button_content_presenter.SetValue(ContentProperty, new TemplateBindingExtension(ContentProperty)); pressed_button_button_content_presenter.SetValue(HorizontalAlignmentProperty, HorizontalAlignment.Center); pressed_button_button_content_presenter.SetValue(VerticalAlignmentProperty, VerticalAlignment.Center); FrameworkElementFactory pressed_button_mreged_element = new FrameworkElementFactory(typeof(Grid)); pressed_button_mreged_element.AppendChild(pressed_button_shape); pressed_button_mreged_element.AppendChild(pressed_button_button_content_presenter); pressed_button_template.VisualTree = pressed_button_mreged_element; button_pressed_trigger.Setters.Add(new Setter(TemplateProperty, pressed_button_template)); style.Triggers.Add(button_pressed_trigger); button.Style = style; }
public void setColorName(MetrialColor.Name color_name) { mColorName = color_name; }