To reproduce: -add CommandBarDropDownButton and add several items of type RadMenuButtonItem; -use the following code: this.commandBarDropDownButton1.DropDownMenu.DropDownClosed += DropDownMenu_DropDownClosed; private void DropDownMenu_DropDownClosed(object sender, Telerik.WinControls.UI.RadPopupClosedEventArgs args) { RadDropDownMenu dropDownMenu = sender as RadDropDownMenu; if (dropDownMenu != null) { CommandBarDropDownButton commandBarDropDownButton = dropDownMenu.Owner as CommandBarDropDownButton; commandBarDropDownButton.Text = dropDownMenu.ClickedItem.Text.ToString(); } } ClickedItem is null only in case of RadMenuButtonItem. Workaround: public class CustomCommandBarDropDownButton : CommandBarDropDownButton { protected override void CreateChildElements() { base.CreateChildElements(); this.DropDownMenu = new CustomDropDownMenu(this); } protected override Type ThemeEffectiveType { get { return typeof(CommandBarDropDownButton); } } } public class CustomDropDownMenu : RadDropDownMenu { public CustomDropDownMenu(RadElement ownerElement) : base(ownerElement, null) { } public override string ThemeClassName { get { return typeof(RadDropDownMenu).FullName; } } protected override void OnMouseClick(MouseEventArgs e) { RadMenuItemBase menuItem = this.GetMenuItemAtPoint(e.Location); if (menuItem is RadMenuButtonItem) { FieldInfo field = typeof(RadDropDownMenu).GetField("clickedItem", BindingFlags.NonPublic | BindingFlags.Instance); field.SetValue(this, menuItem); } base.OnMouseClick(e); } }
Currently, in order to set the focus on the textbox part of an item of RadCommandBar in Form_Load, one should do this: this.commandBarTextBox1.TextBoxElement.TextBoxItem.HostedControl.Select(); There should be a shortcut API that allows for easier setting of the focus.
DisplayName property of RadCommandBarVisualElement class cannot be localized.
Description:If I set the VisibleInStrip property on a CommandBarButton to false, I can still click on the button. To reproduce: 1.First Scenario: -add a RadCommandBar with one CommandBarStripElement; -add 3 CommandBarButtons separated by CommandBarSeparator; -add Click event handler to each button; -set VisibleInStrip=false to the second button of the CommandBarButtons; Try to click the area between the existing two CommandBarSeparators; As a result the Click event is fired for the hidden second button. 2.Second Scenario: -add a RadCommandBar with one CommandBarStripElement; -add 3 CommandBarButtons; -add Click event handler to each button; -set VisibleInStrip=false to the second button of the CommandBarButtons; In some cases clicking the area over the first button fires the Click event of the hidden button. Workaround: Use commandBarButton1.Visibility = ElementVisibility.Collapsed;
To reproduce: Add a row and a strip to the command bar, add items, set tooltips, make them hide in the overflow menu, they do not show their tooltips. Workaround: this.commandBar.Rows[0].Strips[0].OverflowButton.DropDownMenu.ToolTipTextNeeded += DropDownMenu_ToolTipTextNeeded; this.commandBar.Rows[0].Strips[0].OverflowButton.DropDownMenu.MouseMove += DropDownMenu_MouseMove; Point mousePosition = new Point(); void DropDownMenu_MouseMove(object sender, MouseEventArgs e) { this.mousePosition = e.Location; } void DropDownMenu_ToolTipTextNeeded(object sender, ToolTipTextNeededEventArgs e) { this.commandBar.Rows[0].Strips[0].OverflowButton.DropDownMenu.Owner = this; mousePosition.X += this.commandBar.Rows[0].Strips[0].Size.Width; mousePosition.Y += this.commandBar.Rows[0].Strips[0].Size.Height + 20; new ToolTip().Show("bbbb", this.commandBar, mousePosition, 1000); }
To reproduce: radCommandBar1.Dock = DockStyle.Left; CommandBarToggleButton toggleButton = new CommandBarToggleButton(); toggleButton.Text = "some text"; toggleButton.Orientation = Orientation.Vertical; toggleButton.DrawText = true; radCommandBar1.Rows[0].Strips[0].Items.Add(toggleButton); radCommandBar1.Rows[0].Strips[0].Orientation = Orientation.Vertical;
To reproduce: 1.Add RadCommandBar with one CommandBarStripElement and items to a form 2.Float the strip 3.Save the layout 4.Close the form 5.Open the form 6.Load the layout
Data-bounded CommandBarDropDownList shows only currently selected item when the CommandBarDropDownList located into overflow list. Workarround: Assign the CommandBar's BindingContext explicitly public partial class Form1 : Form { public Form1() { InitializeComponent(); this.commandBarDropDownList1.BindingContext = this.BindingContext; }
The KeyDown event for CommandBarDropDownList does not fire. The same is the situation with the DropDownListElement.
Visual Studio's property window allow you to assign these properties the value of (none) or null. This will result in exception when the designer is reopened.
Assign a ImageList to RadCommnandBar and add CommandBarDropDownButton to a strip. Then open the Items collection editor for this drop down button, add new RadMenuItem and attempt to assign an ImageIndex from the ImageList of the control.
1. Create new project with RadCommandBar and add a button in it. 2. Set the button's AutoSize property to false. 3. Run the project and try to hide the button by clicking the overflow button.
Add a command bar button with the following configuration: DrawText = true; Text = "&New"; UseMnemonic = true; ShowKeyboardCues = true; and try to click it with Alt + N. You will see that you cannot.
The ItemClicked event of CommandBarStripElement does not fire when the strip is floating.
Since the settings are serialized, the buttons does not have hover, pressed and other effects. Workaround: instead of making the buttons protected, apply this setting to RadCommandBar control and expose the buttons as properties.
PasswordChar of TextBoxElement of CommandBarTextBox is not serialized at design-time.
If you have a RadCommandBar instance on a form, and on the same form you have a ContextMenuStrip with one toolstripmenuitem, you will notice that you are not able to select anything from the form.
To reproduce: - add command bar to a form and dock it top - add button below the command bar and dock it fill - click the command bar and try to open the Rows collection editor from the properties window
Setting ToolTip of RadListVisualItem of CommandBarDropDownList does not show the tool tip
Add the possibility to change the owner CommandBarRowElement of a CommandBarStripElement at design time.