public static object GetCommandParameter(this ImageToggleButton button) { var innerButtonField = button.GetType().GetField("innerButton", BindingFlags.Instance | BindingFlags.NonPublic); var innerButton = innerButtonField.GetValue(button) as Button; return(innerButton.CommandParameter); }
public static void SetCommandParameter(this ImageToggleButton button, object commandParameter) { var innerButtonField = button.GetType().GetField("toggleInnerButton", BindingFlags.Instance | BindingFlags.NonPublic); var innerButton = innerButtonField.GetValue(button) as System.Windows.Controls.Primitives.ToggleButton; innerButton.CommandParameter = commandParameter; }
private void AddItemToPannel() { if (ItemSource != null) { this.Children.Clear(); int row = -1; List <StackLayout> listStackLayouts = new List <StackLayout>(); for (int i = 0; i < ItemSource.Count; i++) { if (i % 3 == 0) { var layout = new StackLayout() { Orientation = StackOrientation.Horizontal, Spacing = 20 }; listStackLayouts.Add(layout); row++; } var button = new ImageToggleButton() { Image = ItemSource[i].Icon, BorderColor = Color.FromHex("#5a5a5a"), BorderWidth = 0.5, HeightRequest = 48, WidthRequest = 48, Checked = false, CommandParameter = ItemSource[i] }; button.Clicked += (sender, args) => { var b = (ImageToggleButton)sender; var activity = (Activity)b.CommandParameter; b.Checked = !b.Checked; if (b.Checked == true) { SelectedItems.Add(activity); } else { SelectedItems.Remove(activity); } }; listStackLayouts[row].Children.Add(button); } foreach (var panel in listStackLayouts) { this.Children.Add(panel); } } }
void InitDifficultyButtons() { ImageToggleButton btnNormal = null; ImageToggleButton btnEasy = null; easymode = false; btnEasy = new ImageToggleButton(); btnEasy.Image = Root.Singleton.Material("img/customizeUI/button_easy_on.png"); btnEasy.HoveredImage = Root.Singleton.Material("img/customizeUI/button_easy_select2.png"); btnEasy.ToggledImage = Root.Singleton.Material("img/customizeUI/button_easy_select2.png"); btnEasy.DisabledImage = Root.Singleton.Material("img/customizeUI/button_easy_off.png"); btnEasy.Enabled = true; btnEasy.Toggled = true; btnEasy.HoverSound = Root.Singleton.Sound("audio/waves/ui/select_light1.wav"); btnEasy.OnClick += sender => { btnEasy.Toggled = true; btnEasy.UpdateImage(); btnNormal.Toggled = false; btnNormal.UpdateImage(); easymode = true; }; Util.LayoutControl(btnEasy, 977, 16, btnEasy.Image.Size, rctScreen); btnEasy.Parent = Root.Singleton.Canvas; btnEasy.Init(); btnNormal = new ImageToggleButton(); btnNormal.Image = Root.Singleton.Material("img/customizeUI/button_normal_on.png"); btnNormal.HoveredImage = Root.Singleton.Material("img/customizeUI/button_normal_select2.png"); btnNormal.ToggledImage = Root.Singleton.Material("img/customizeUI/button_normal_select2.png"); btnNormal.DisabledImage = Root.Singleton.Material("img/customizeUI/button_normal_off.png"); btnNormal.Enabled = true; btnNormal.HoverSound = Root.Singleton.Sound("audio/waves/ui/select_light1.wav"); btnNormal.OnClick += sender => { btnEasy.Toggled = false; btnEasy.UpdateImage(); btnNormal.Toggled = true; btnNormal.UpdateImage(); easymode = false; }; Util.LayoutControl(btnNormal, 977, 41, btnNormal.Image.Size, rctScreen); btnNormal.Parent = Root.Singleton.Canvas; btnNormal.Init(); }
void InitLayoutButtons() { btnLayoutA = null; btnLayoutB = null; btnLayoutA = new ImageToggleButton(); btnLayoutA.Image = Root.Singleton.Material("img/customizeUI/button_typea_on.png"); btnLayoutA.HoveredImage = Root.Singleton.Material("img/customizeUI/button_typea_select2.png"); btnLayoutA.ToggledImage = Root.Singleton.Material("img/customizeUI/button_typea_select2.png"); btnLayoutA.DisabledImage = Root.Singleton.Material("img/customizeUI/button_typea_off.png"); btnLayoutA.HoverSound = Root.Singleton.Sound("audio/waves/ui/select_light1.wav"); btnLayoutA.OnClick += sender => { btnLayoutA.Toggled = true; btnLayoutA.UpdateImage(); btnLayoutB.Toggled = false; btnLayoutB.UpdateImage(); SetShipGenerator(currentShipGen, 0); }; Util.LayoutControl(btnLayoutA, 18, 260, btnLayoutA.Image.Size, rctScreen); btnLayoutA.Parent = Root.Singleton.Canvas; btnLayoutA.Init(); btnLayoutB = new ImageToggleButton(); btnLayoutB.Image = Root.Singleton.Material("img/customizeUI/button_typeb_on.png"); btnLayoutB.HoveredImage = Root.Singleton.Material("img/customizeUI/button_typeb_select2.png"); btnLayoutB.ToggledImage = Root.Singleton.Material("img/customizeUI/button_typeb_select2.png"); btnLayoutB.DisabledImage = Root.Singleton.Material("img/customizeUI/button_typeb_off.png"); btnLayoutB.HoverSound = Root.Singleton.Sound("audio/waves/ui/select_light1.wav"); btnLayoutB.OnClick += sender => { btnLayoutA.Toggled = false; btnLayoutA.UpdateImage(); btnLayoutB.Toggled = true; btnLayoutB.UpdateImage(); SetShipGenerator(currentShipGen, 1); }; Util.LayoutControl(btnLayoutB, 100, 260, btnLayoutB.Image.Size, rctScreen); btnLayoutB.Parent = Root.Singleton.Canvas; btnLayoutB.Init(); }
private void AddItem(string toolBarName, ToolbarItemDefinition def) { ToolBar toolBar = string.IsNullOrEmpty(toolBarName) ? GetToolBar() : GetToolBar(toolBarName); ImageButtonBase item = null; if (def.IsTogglable) { var button = new ImageToggleButton(); button.EnabledImageSource = new BitmapImage(new Uri(def.EnabledIconPath)); if (def.DisabledIconPath != null) { button.DisabledImageSource = new BitmapImage(new Uri(def.DisabledIconPath)); } if (def.CommandBinding != null) { button.CommandBindings.Add(def.CommandBinding); } if (def.CommandParameter != null) { button.SetCommandParameter(def.CommandParameter); } button.Command = def.Command; button.ToolTip = def.Tooltip; item = button; } else { var button = new ImageButton(); button.EnabledImageSource = new BitmapImage(new Uri(def.EnabledIconPath)); if (def.DisabledIconPath != null) { button.DisabledImageSource = new BitmapImage(new Uri(def.DisabledIconPath)); } button.CommandBindings.Add(def.CommandBinding); button.Command = def.Command; if (def.CommandParameter != null) { button.SetCommandParameter(def.CommandParameter); } if (!string.IsNullOrEmpty(def.Tooltip)) { button.ToolTip = def.Tooltip; } item = button; } if (!string.IsNullOrEmpty(def.ReferenceItemName)) { var index = 0; var referenceItem = toolBar.Items.OfType <ImageButtonBase>().Where(element => element.Command.Name == def.ReferenceItemName).FirstOrDefault() as ImageButtonBase; index = toolBar.Items.IndexOf(referenceItem); if (def.Position == ToolbarItemPosition.After) { toolBar.Items.Insert(index + 1, item); } else if (def.Position == ToolbarItemPosition.Before) { if (index == 0) { toolBar.Items.Insert(0, item); } else { toolBar.Items.Insert(index - 1, item); } } } else { if (def.Position == ToolbarItemPosition.Top) { toolBar.Items.Insert(0, item); } else { toolBar.Items.Add(item); } } }
public void OnActivate() { StoreWindow(); LoadSprites(); LoadUI(); InitShipNamePanel(); InitShipRenameButton(); InitShipNameText(); InitListShipsButton(); InitShipsLeftButton(); InitShipsRightButton(); ImageToggleButton btnNormal = null, btnEasy = null; easymode = false; #region InitEasyButton btnEasy = new ImageToggleButton(); btnEasy.Image = Root.Singleton.Material("img/customizeUI/button_easy_on.png"); btnEasy.HoveredImage = Root.Singleton.Material("img/customizeUI/button_easy_select2.png"); btnEasy.ToggledImage = Root.Singleton.Material("img/customizeUI/button_easy_select2.png"); btnEasy.DisabledImage = Root.Singleton.Material("img/customizeUI/button_easy_off.png"); btnEasy.Enabled = true; btnEasy.Toggled = true; btnEasy.HoverSound = Root.Singleton.Sound("audio/waves/ui/select_light1.wav"); btnEasy.OnClick += sender => { btnEasy.Toggled = true; btnEasy.UpdateImage(); btnNormal.Toggled = false; btnNormal.UpdateImage(); easymode = true; }; Util.LayoutControl(btnEasy, 977, 16, 95, 24, rctScreen); btnEasy.Parent = Root.Singleton.Canvas; btnEasy.Init(); #endregion #region InitNormalButton btnNormal = new ImageToggleButton(); btnNormal.Image = Root.Singleton.Material("img/customizeUI/button_normal_on.png"); btnNormal.HoveredImage = Root.Singleton.Material("img/customizeUI/button_normal_select2.png"); btnNormal.ToggledImage = Root.Singleton.Material("img/customizeUI/button_normal_select2.png"); btnNormal.DisabledImage = Root.Singleton.Material("img/customizeUI/button_normal_off.png"); btnNormal.Enabled = true; btnNormal.HoverSound = Root.Singleton.Sound("audio/waves/ui/select_light1.wav"); btnNormal.OnClick += sender => { btnEasy.Toggled = false; btnEasy.UpdateImage(); btnNormal.Toggled = true; btnNormal.UpdateImage(); easymode = false; }; Util.LayoutControl(btnNormal, 977, 41, 95, 24, rctScreen); btnNormal.Parent = Root.Singleton.Canvas; btnNormal.Init(); #endregion InitStartButton(); ImageToggleButton btnTypeA = null, btnTypeB = null; #region Init Button Type A btnTypeA = new ImageToggleButton(); btnTypeA.Image = Root.Singleton.Material("img/customizeUI/button_typea_on.png"); btnTypeA.HoveredImage = Root.Singleton.Material("img/customizeUI/button_typea_select2.png"); btnTypeA.ToggledImage = Root.Singleton.Material("img/customizeUI/button_typea_select2.png"); btnTypeA.DisabledImage = Root.Singleton.Material("img/customizeUI/button_typea_off.png"); btnTypeA.Enabled = true; btnTypeA.Toggled = true; btnTypeA.HoverSound = Root.Singleton.Sound("audio/waves/ui/select_light1.wav"); btnTypeA.OnClick += sender => { btnTypeA.Toggled = true; btnTypeA.UpdateImage(); btnTypeB.Toggled = false; btnTypeB.UpdateImage(); }; Util.LayoutControl(btnTypeA, 18, 260, 80, 22, rctScreen); btnTypeA.Parent = Root.Singleton.Canvas; btnTypeA.Init(); #endregion #region Init Button Type B btnTypeB = new ImageToggleButton(); btnTypeB.Image = Root.Singleton.Material("img/customizeUI/button_typeb_on.png"); btnTypeB.HoveredImage = Root.Singleton.Material("img/customizeUI/button_typeb_select2.png"); btnTypeB.ToggledImage = Root.Singleton.Material("img/customizeUI/button_typeb_select2.png"); btnTypeB.DisabledImage = Root.Singleton.Material("img/customizeUI/button_typeb_off.png"); btnTypeB.Enabled = false; btnTypeB.HoverSound = Root.Singleton.Sound("audio/waves/ui/select_light1.wav"); btnTypeB.OnClick += sender => { btnTypeA.Toggled = false; btnTypeA.UpdateImage(); btnTypeB.Toggled = true; btnTypeB.UpdateImage(); }; Util.LayoutControl(btnTypeB, 100, 260, 80, 22, rctScreen); btnTypeB.Parent = Root.Singleton.Canvas; btnTypeB.Init(); #endregion InitShowRoomsButton(); if (currentShipGen == null) { // Locate the default ship SetShipGenerator(GetDefaultShipGenerator()); } else { SetShipGenerator(currentShipGen); } }