Rename "Select All" but only for one Instace
Hi forum,
Is it possible to change the text "Select all" in a ComboBoxAdv?
But only for one instance not for all instances.
regards
Thomas
SIGN IN To post a reply.
5 Replies
JP
Jagadeesan Pichaimuthu
Syncfusion Team
June 27, 2019 11:47 AM UTC
Hi Thomas,
Thanks for using Syncfusion product.
We have checked your requirement to change the text "Select all" in a ComboBoxAdv and you can able to achieve your requirement by customizing the style of the control. Here you can able to initialize the text to Content of the ComboBoxItemAdv as like below code snippet,
|
<syncfusion:ComboBoxAdv x:Name="comboBoxAdv" Style="{DynamicResource ComboBoxAdvStyle1}" AllowMultiSelect="True" AllowSelectAll="True" HorizontalAlignment="Left" Height="34" Width="311" Margin="118,66,0,0" SelectionChanged="ComboBoxAdv_SelectionChanged">
<ListBoxItem Content="item1"/>
<ListBoxItem Content="item2"/>
<ListBoxItem Content="item3"/>
</syncfusion:ComboBoxAdv>
<Style x:Key="ComboBoxAdvStyle1" TargetType="{x:Type syncfusion:ComboBoxAdv}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type syncfusion:ComboBoxAdv}">
…….
<syncfusion:ComboBoxItemAdv x:Name="PART_SelectAll" Background="{Binding Background, ElementName=DropDownBorder}" Content="SelectAll item" Margin="0.2,0,0,0.5" Grid.Row="0">
<syncfusion:ComboBoxItemAdv.Visibility>
<TemplateBinding Property="AllowSelectAll">
<TemplateBinding.Converter>
<BooleanToVisibilityConverter/>
</TemplateBinding.Converter>
</TemplateBinding>
</syncfusion:ComboBoxItemAdv.Visibility>
</syncfusion:ComboBoxItemAdv>
……….
|
Also please refer the below sample for your reference.
Also you can refer how to create the EditTemplate to customize the appearance of the control.
Let us know whether this helps also if you need any further assistance on this.
Regards,
Jagadeesan
TB
Thomas Beimel
June 28, 2019 02:24 PM UTC
Hi Jagadeesan,
Ok, it works.
But is there an easier way than overwriting the entire template?
Regards
Thomas
JP
Jagadeesan Pichaimuthu
Syncfusion Team
July 1, 2019 12:53 PM UTC
Hi Thomas,
Thanks for your update.
We have checked your query and you can able to rename the SelectAll item, by using the below code snippet. Here you can get the SelectAllItem using reflection and change the content as like below code snippet,
|
public MainWindow()
{
InitializeComponent();
this.Loaded += OnLoaded;
this.comboBoxAdv.DropDownOpened += ComboBoxAdv_DropDownOpened;
}
private void ComboBoxAdv_DropDownOpened(object sender, EventArgs e)
{
FieldInfo infor = typeof(ComboBoxAdv).GetField("SelectAllItem", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
var value = infor.GetValue(this.comboBoxAdv) as ComboBoxItemAdv;
value.Content = "Select All Item";
} |
Let us know whether this helps also if you need any further assistance on this.
Regards,
Jagadeesan
TB
Thomas Beimel
July 1, 2019 02:27 PM UTC
Hi Jagadeesan,
thank you. It works fine!
regards
Thomas
JP
Jagadeesan Pichaimuthu
Syncfusion Team
July 2, 2019 06:14 AM UTC
Hi Thomas,
Thanks for your update.
We are glad to know that the provided solution worked at your end. Please let us know if you have any further queries on this. We are happy to help you.
Regards,
Jagadeesan
SIGN IN To post a reply.
- 5 Replies
- 2 Participants
-
TB Thomas Beimel
- Jun 27, 2019 09:08 AM UTC
- Jul 2, 2019 06:14 AM UTC