I want to modify the the default style of the menu tool and the button tool.
I need the border of the tools to be visible, background color is to be same as default WPF button.
And on mouse over color to be light blue (same as WPF button) instead of yellow.
How can I modify these properties.
As it can be seen in the picture, borders are only visible when mouse over, and I want to change the yellow color.
Hello and thank you for contacting Infrgistics. This will require style changes to our default files for the ribbon. You can find the default files here.
C:\Program Files (x86)\Infragistics\20xx.x\WPF\DefaultStyles\Ribbon
I am sorry, but I am not that good in this area, I found this under the menu tool style and change the border thickness to 1,1,1,1 but nothing changes. Is that the right property and right file?
Line 1372 ,version 2018.1. Also which property has the color for mouseover?
<!-- JJD 12/4/07 - BR28873 --> <!-- Added Border style for menu item icon area background --> <Style x:Key="MenuItem_IconAreaBackground" TargetType="{x:Type Border}"> <Setter Property="SnapsToDevicePixels" Value="True" /> <Setter Property="Background" Value="{DynamicResource {x:Static igRibbon:RibbonBrushKeys.MenuToolPresenterLeftColumnFillKey}}" /> <Setter Property="BorderBrush" Value="{DynamicResource {x:Static igRibbon:RibbonBrushKeys.GalleryItemGroupCaptionStrokeFillKey}}" /> <Setter Property="BorderThickness" Value="1,1,1,1" /> </Style>
Hello I attached a demo on how to directly manipulate the button in code to help you get started.
2806.WpfApplication2.zip
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:prim="http://schemas.infragistics.com/xaml/primitives" xmlns:ig="http://schemas.infragistics.com/xaml" xmlns:igRibbon="http://infragistics.com/Ribbon" x:Class="WpfApplication1.MainWindow" Title="MainWindow" Height="350" Width="525"> <Grid> <Grid.Resources> <SolidColorBrush x:Key="{x:Static igRibbon:RibbonBrushKeys.ButtonToolHoverCenterFillKey }" Color="LightBlue"/> <SolidColorBrush x:Key="{x:Static igRibbon:RibbonBrushKeys.ButtonToolPressedCenterFillKey }" Color="LightSkyBlue" /> <SolidColorBrush x:Key="{x:Static igRibbon:RibbonBrushKeys.ButtonToolCheckedCenterFillKey }" Color="LightSkyBlue" /> </Grid.Resources> <StackPanel> <igRibbon:MenuTool VerticalAlignment="Center" HorizontalAlignment="Center" Caption="_Theme" Loaded="MenuTool_Loaded" Click="MenuTool_Click" ButtonType="Segmented" LargeImage="dog.jpg" Width="100" Height="25" Margin="5" BorderThickness="5" > <igRibbon:ButtonTool Caption="Blue" LargeImage="dog.jpg" igRibbon:MenuToolBase.MenuItemDescription="Menu item"/> </igRibbon:MenuTool> <Button Width="50" Height="25" Margin="5" Click="MenuTool_Click">Test</Button> </StackPanel> </Grid> </Window>
private void MenuTool_Click(object sender, RoutedEventArgs e) { MessageBox.Show("Click"); } private void MenuTool_Loaded(object sender, RoutedEventArgs e) { ItemsControl tmp = Utilities.GetDescendantFromType(sender as DependencyObject, typeof(ItemsControl), true) as ItemsControl; tmp.Background = Brushes.LightGray; }
Here is my code for the split button so far, I manage to find the part to change the on hover color and the background color for the menutoll.
But I couldn't manage to find how to make the border visible on initial state, and on mouse over color for the dropbox area. (You can see in the picture)
How can I change these parameters ?
This is considered to be a new product idea. After further research most of our border/background rendering of button tools is done in code.
You can suggest new product ideas for future versions (or vote for existing ones) at <https://es.infragistics.com/community/ideas>. Submitting your idea will allow you to communicate directly with our product management team, track the progress of your idea at any time, see how many votes it got, read comments from other developers in the community, and see if someone from the product team has additional questions for you. Remember when submitting your idea to explain the context in which a feature would be used and why it is needed as well as anything that would prevent you from accomplishing this today. You can even add screenshots to build a stronger case. Remember that for your suggestion to be successful, you need other members of the community to vote for it.
Let me know if you have any questions.
Michael DiFilippoSoftware DeveloperInfragistics, Inc.