コード例 #1
0
        public void CreateControl(out FrameworkElement control)
        {
            var buttonReferenceControl = new AutomatonButtonReference()
            {
                Button = ButtonRef
            };
            var labelWithButton = new LabelWithButton()
            {
                Button = buttonReferenceControl
            };
            var textControl = new FormattedTextBlock()
            {
                Content             = Text,
                HorizontalAlignment = HorizontalAlignment.Center,
            };

            var stackPanel = new StackPanel
            {
                Orientation         = Orientation.Horizontal,
                HorizontalAlignment = HorizontalAlignment.Center,
                Margin = new Thickness(0, 1, 0, 1),
            };

            stackPanel.Children.Add(labelWithButton);
            stackPanel.Children.Add(textControl);

            control = stackPanel;
        }
コード例 #2
0
        public static void AddHUDButton(Menu menu,
                                        string img_off,
                                        string img_on,
                                        string label,
                                        IButtonReference buttonRef)
        {
            var hudButtons = FindVisualChildren <HUDButton>(Api.Client.UI.LayoutRoot);

            if (hudButtons?.Count() > 0)
            {
                if (hudButtons.Last().Parent is StackPanel stackPanel)
                {
                    var        newHUDButton = new HUDButton();
                    ImageBrush normalBrush  = new ImageBrush();
                    BindingOperations.SetBinding(normalBrush, ImageBrush.ImageSourceProperty,
                                                 new Binding()
                    {
                        Source = img_off
                    });
                    newHUDButton.BrushNormal = normalBrush;
                    ImageBrush highlightedBrush = new ImageBrush();
                    BindingOperations.SetBinding(highlightedBrush, ImageBrush.ImageSourceProperty,
                                                 new Binding()
                    {
                        Source = img_on
                    });
                    newHUDButton.BrushHighlighted = highlightedBrush;
                    var labelWithButton = new LabelWithButton()
                    {
                        Content = label
                    };
                    labelWithButton.Button = buttonRef;
                    newHUDButton.SetBinding(ToolTipServiceExtend.ToolTipProperty,
                                            new Binding()
                    {
                        Source = labelWithButton
                    });
                    newHUDButton.SetBinding(HUDButton.CommandProperty,
                                            new Binding("CommandToggle"));
                    newHUDButton.SetBinding(HUDButton.IsSelectedProperty,
                                            new Binding("IsSelected"));
                    newHUDButton.DataContext = menu;
                    stackPanel.Children.Add(newHUDButton);
                }
                else
                {
                    Api.Logger.Error("CNEI: HUD buttons parent is not StackPanel.");
                }
            }
            else
            {
                Api.Logger.Error("CNEI: HUD buttons not found.");
            }
        }