private void RadMultiColumnComboBox_Loaded(object sender, RoutedEventArgs e)
{
var mccb = (RadMultiColumnComboBox)sender;
var selection = mccb.SelectedItem;
mccb.SetCurrentValue(RadMultiColumnComboBox.SelectedItemProperty, null);
mccb.SetCurrentValue(RadMultiColumnComboBox.SelectedItemProperty, selection);
}
When the SelectionMode of MultiColumnComboBox is set to Single, changing the Selection invokes twice the SelectionChanged event.
What I would expect is that the event fires only once, with one item in AddedItems and one item in RemovedItems. Currently, addition and removal is done seperately, and the two invocations of the event correspond to them.
To reproduce, just use the Getting Started article about MultiColumnComboBox with the Clubs ItemSource. Subscribe to SelectionChanged event and make a change to the selection. I hope the following gif makes this clear - the first selection is valid, but the second should invoke the event only once, with 1 item added, 1 removed.
The drop-down menu does not close when a context menu is opened on top of it, even if the KeepDropDownOpen="False". The control would need to move the focus in order for the drop-down to close.
To work this around, you can use the CloseDropDown() method of the MultiColumnComboBox control.
When placing controls in the CellTemplate/CellEditTemplate in the RadMultiColumnComboBox`s dropdown`s GridView some do not receive/accept the mouse input correctly.
In the newest version (2021.2.615) the dropdown of a RadDatePicker does not open. A RadButton works fine and a RadComboBox open and can select an item via mouse click.
In a previous version (2021.1.325) the RadComboBox also does not work, this seems to be fixed already.
I have attached a sample project demonstrating the behavio:
1) start the project
2) open the dropdown of the RadMultiColumnComboBox
3) click on the RadDatePicker`s calender icon button. => the calender view does not open
The very same DataTemplate is applied obove the RadMultiColumnComboBox to illustrate the proper behavior in contrast.
The behavior is visually demonstrated in the .gif (1.gif and 2.gif) I have attached.
If you host RadMultiColumnComboBox in a control with a vertical ScrollViewer, then open the popup content of the RadMultiColumnComboBox and use the mouse wheel in it, the parent ScrollViewer scrolls. In comparison RadComboBox and the native WPF ComboBox are not scrolling. Instead the scrolling event is consumed and it doesn't propagate to the parent ScrollViewer.
The attached project shows one way to work this around.
If you select an item in RadMultiColumnComboBox and then replace the ItemsSource of the GridViewItemsSourceProvider, the selection in the autocompletebox part of the the control is not cleared. There are items that are still selected and are not presented in the ItemsSource.
To work this around, you can create a custom GridViewItemsSourceProvider and override its OnPropertyChanged method. When the ItemsSource is changed, you can reset the selection.
public class CustomGridViewItemsSourceProvider : GridViewItemsSourceProvider
{
public RadMultiColumnComboBox Owner
{
get { return (RadMultiColumnComboBox)GetValue(OwnerProperty); }
set { SetValue(OwnerProperty, value); }
}
public static readonly DependencyProperty OwnerProperty =
DependencyProperty.Register(
"Owner",
typeof(RadMultiColumnComboBox),
typeof(CustomGridViewItemsSourceProvider),
new PropertyMetadata(null));
protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e)
{
base.OnPropertyChanged(e);
if (e.Property.Name == "ItemsSource" && this.Owner != null)
{
this.Owner.SelectionBridge.ClearOwnerSelection();
}
}
}
<telerik:RadMultiColumnComboBox.ItemsSourceProvider>
<local:CustomGridViewItemsSourceProvider Owner="{Binding ElementName=mccb}" />
</telerik:RadMultiColumnComboBox.ItemsSourceProvider>
The following error is thrown when the dropdown of the control is opened: Cannot find governing FrameworkElement or FrameworkContentElement for target element. ... ; target element is 'GridViewItemsSourceProvider; target property is 'ItemsSource' (type 'Object')
If the combobox is placed inside a RadGridView, the error is thrown each time the dropdown is opened (after a commit action).
The Validation.ErrorTemplate attached property is not set. To workaround this, you can use the following resource.
<ControlTemplate x:Key="ValidationTooltipTemplate">
<Grid SnapsToDevicePixels="True" VerticalAlignment="Top">
<Border Background="Transparent" HorizontalAlignment="Right" VerticalAlignment="Top" Width="3" Height="3"/>
<AdornedElementPlaceholder x:Name="Holder"/>
<Border BorderBrush="{StaticResource ValidationTooltipOuterBorder}" BorderThickness="1" CornerRadius="{StaticResource ValidationTooltip_CornerRadius}"/>
<Path Data="M2,1 L6,1 6,5 Z" Fill="{StaticResource ValidationInnerTick}" Width="7" Height="7" HorizontalAlignment="Right" VerticalAlignment="Top"/>
<Path Data="M0,0 L2,0 7,5 7,7 Z" Fill="{StaticResource ValidationOuterTick}" Width="7" Height="7" HorizontalAlignment="Right" VerticalAlignment="Top"/>
<ToolTipService.ToolTip>
<ToolTip x:Name="PART_ToolTip"
DataContext="{Binding RelativeSource={RelativeSource Mode=Self}, Path=PlacementTarget.DataContext}"
Template="{StaticResource ErrorTooltipTemplate}"
Placement="Right"/>
</ToolTipService.ToolTip>
</Grid>
</ControlTemplate>
<Style TargetType="telerik:RadMultiColumnComboBox" BasedOn="{StaticResource RadMultiColumnComboBoxStyle}">
<Setter Property="Validation.ErrorTemplate" Value="{StaticResource ValidationTooltipTemplate}" />
</Style>
Hi Telerik-Team,
i found a bug similar to forum post, but not the same.
In MultiColumnComboBox when SelectionBoxesVisibility is set to 'collapsed' and and whatever you set AutoCompleteMode to (different from the forum post),
if you select the first item it is not shown. Although the NullText is removed. It works perfectly for all the other items. This is quiet a problem if you only have one item in the dropwdown :D
Regards,
Mats
If set the AutoCompleteMode property in a Style Setter, and exception is thrown.
To work this around set the property directly on the control.
<telerik:RadMultiColumnComboBox AutoCompleteMode="Search" />