protected override void CreateControlInternal(out FrameworkElement control) { var labelControl = new TextBlock() { Text = Label, VerticalAlignment = VerticalAlignment.Center, Margin = new Thickness(0, 7, 0, 0) }; var largeStep = StepSize * 2.0; var sliderControl = new Slider { Minimum = MinValue, Maximum = MaxValue, SmallChange = StepSize, LargeChange = largeStep, VerticalAlignment = VerticalAlignment.Center, HorizontalAlignment = HorizontalAlignment.Center, Width = 200, Margin = new Thickness(0, 2, 0, -3), IsSnapToTickEnabled = false, TickFrequency = largeStep, }; var valueToolTip = new TextBlock(); valueToolTip.SetBinding(TextBlock.TextProperty, new Binding("Value") { StringFormat = "N2" }); valueToolTip.DataContext = sliderControl; ToolTipServiceExtend.SetToolTip(sliderControl, valueToolTip); if (ToolTip != "") { ToolTipServiceExtend.SetToolTip(labelControl, ToolTip); } SetupOptionToControlValueBinding(sliderControl, RangeBase.ValueProperty); var mainGrid = new Grid() { Margin = new Thickness(0, 3, 0, 3) }; mainGrid.ColumnDefinitions.Add(new ColumnDefinition() { Width = GridLength.Auto }); mainGrid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(100, GridUnitType.Star) }); mainGrid.Children.Add(labelControl); Grid.SetColumn(labelControl, 0); mainGrid.Children.Add(sliderControl); Grid.SetColumn(sliderControl, 1); control = mainGrid; }
private void DestroyTooltip() { if (this.tooltip is null) { return; } ToolTipServiceExtend.SetToolTip(this, null); this.tooltip = null; }
protected override void CreateControlInternal(out FrameworkElement control) { //<DataTemplate DataType="{x:Type options:OptionTextBoxDouble}"> // <StackPanel Orientation="Horizontal"> // <TextBlock Text="{Binding Label}" // Margin="0,0,10,0" // base:ToolTipServiceExtend.ToolTip="{Binding Tooltip}" /> // <TextBox Text="{Binding CurrentValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" // Width="75" /> // </StackPanel> //</DataTemplate> var label = new FormattedTextBlock() { Content = Label, VerticalAlignment = VerticalAlignment.Center, Margin = new Thickness(0, 0, 10, 0) }; if (ToolTip != "") { ToolTipServiceExtend.SetToolTip(label, ToolTip); } var textbox = new TextBox() { VerticalAlignment = VerticalAlignment.Center, HorizontalAlignment = HorizontalAlignment.Right, Width = 100 }; SetupOptionToControlValueBinding(textbox, TextBox.TextProperty); var mainGrid = new Grid() { Margin = new Thickness(0, 3, 0, 3) }; mainGrid.ColumnDefinitions.Add(new ColumnDefinition() { Width = GridLength.Auto }); mainGrid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(100, GridUnitType.Star) }); mainGrid.Children.Add(label); Grid.SetColumn(label, 0); mainGrid.Children.Add(textbox); Grid.SetColumn(textbox, 1); control = mainGrid; }
protected virtual void SetupSliderControlTooltip(Slider slider) { var textBlock = new TextBlock(); var tooltipBinding = new Binding("Value"); this.SetupTooltipBinding(tooltipBinding); textBlock.SetBinding( TextBlock.TextProperty, tooltipBinding); textBlock.DataContext = slider; ToolTipServiceExtend.SetToolTip(slider, textBlock); }
private void RefreshTooltip() { this.DestroyTooltip(); if (!this.IsMouseOver) { return; } var protoItemAmmo = this.viewModel.ProtoItemAmmo; if (protoItemAmmo is null) { return; } this.tooltip = ItemTooltipControl.Create(protoItemAmmo); ToolTipServiceExtend.SetToolTip(this, this.tooltip); }
private static void AddSupporterBadge(InlineCollection inlines) { // hidden textblock is acting as a source of the foreground brush for the icon var hiddenTextBlock = new TextBlock() { Visibility = Visibility.Hidden }; var iconPath = new Path { Width = 12, Height = 12, Data = SupporterBadgeGeometry, Stretch = Stretch.Uniform }; iconPath.SetBinding(Shape.FillProperty, // bind to the foreground of the hidden textblock new Binding("Foreground") { Source = hiddenTextBlock }); var grid = new Grid() { Background = Brushes.Transparent, Margin = new Thickness(1, 0, 0, -4) }; grid.Children.Add(hiddenTextBlock); grid.Children.Add(iconPath); inlines.Add(new InlineUIContainer(grid)); ToolTipServiceExtend.SetToolTip(grid, new FormattedTextBlock() { Content = "[b]" + CoreStrings.SupporterPack_Badge + "[/b][br]" + CoreStrings.SupporterPack_Description, MaxWidth = 300 }); }
protected override void CreateControlInternal(out FrameworkElement control) { //<DataTemplate DataType="{x:Type options:OptionTextBoxDouble}"> // <StackPanel Orientation="Horizontal"> // <TextBlock Text="{Binding Label}" // Margin="0,0,10,0" // base:ToolTipServiceExtend.ToolTip="{Binding Tooltip}" /> // <TextBox Text="{Binding CurrentValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" // Width="75" /> // </StackPanel> //</DataTemplate> var label = new FormattedTextBlock() { Content = Label, VerticalAlignment = VerticalAlignment.Center, Margin = new Thickness(0, 0, 10, 0) }; if (ToolTip != "") { ToolTipServiceExtend.SetToolTip(label, ToolTip); } var textbox = new TextBox() { VerticalAlignment = VerticalAlignment.Center, Width = 75 }; SetupOptionToControlValueBinding(textbox, TextBox.TextProperty); var stackPanel = new StackPanel() { Orientation = Orientation.Horizontal, Margin = new Thickness(0, 5, 0, 5) }; stackPanel.Children.Add(label); stackPanel.Children.Add(textbox); control = stackPanel; }
protected override void CreateControlInternal(out FrameworkElement control) { //<DataTemplate DataType="{x:Type options:OptionCheckBox}"> // <CheckBox IsChecked="{Binding CurrentValue}" // Content="{Binding Label}" // base:ToolTipServiceExtend.ToolTip="{Binding ToolTip}" /> //</DataTemplat> var checkbox = new CheckBox() { VerticalAlignment = VerticalAlignment.Center, Content = Label, Margin = new Thickness(0, 5, 0, 5) }; SetupOptionToControlValueBinding(checkbox, ToggleButton.IsCheckedProperty); if (ToolTip != "") { ToolTipServiceExtend.SetToolTip(checkbox, ToolTip); } control = checkbox; }
private static void ExecuteCommandEject() { ToolTipServiceExtend.CloseOpenedTooltip(); CharacterRespawnSystem.Instance.ClientRequestRespawnInWorld(); }
public virtual UIElement CreateControl() { var options = this.Options.Where(o => !o.IsHidden).ToList(); if (options.Count <= 0) { return(new TextBlock() { // ReSharper disable once CanExtractXamlLocalizableStringCSharp Text = "This category has no options", HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Center }); } var tableControl = new TableControl() { VerticalAlignment = VerticalAlignment.Top, HorizontalAlignment = HorizontalAlignment.Center }; tableControl.Loaded += (_, e) => { if (!tableControl.IsEmpty) { return; } // populate options tableControl.Clear(); // local helper method for getting option order IEnumerable <IProtoOption> GetOptionOrder(IProtoOption tab) { if (tab.OrderAfterOption is not null) { yield return(tab.OrderAfterOption); } } foreach (var option in options.OrderBy(o => o.ShortId) .TopologicalSort(GetOptionOrder) .Where(o => !o.IsHidden)) { option.CreateControl(out var labelControl, out var optionControl); optionControl.Focusable = false; if (!string.IsNullOrEmpty(option.Description)) { // wrap into a stackpanel with an info tooltip control var controlInfoPoint = new Control { Style = Api.Client.UI.GetApplicationResource <Style>( "ControlInfoQuestionPointStyle"), VerticalAlignment = VerticalAlignment.Bottom, Margin = new Thickness(0, 0, 0, 3) }; var stackPanel = new StackPanel { Orientation = Orientation.Horizontal, Background = Brushes.Transparent }; stackPanel.Children.Add(optionControl); stackPanel.Children.Add(controlInfoPoint); optionControl = stackPanel; var tooltipContent = new FormattedTextBlock() { Content = option.Description, MaxWidth = 300 }; ToolTipServiceExtend.SetToolTip(stackPanel, tooltipContent); ToolTipServiceExtend.SetToolTip(labelControl, tooltipContent); } tableControl.Add(labelControl, optionControl); } }; return(new ScrollViewer() { Content = tableControl, VerticalScrollBarVisibility = ScrollBarVisibility.Visible }); }