The CustomShape component is missing from the ToolBox
FIX. Color blending of the active theme is not applied to the controls created after the blending
To reproduce: -add RadPivotGrid -apply Breeze theme; all filter buttons are missing for the column descriptors;
Steps to reproduce: 1. Add a small button to a form. 2. On click of this button show an OpenFileDialog. 3. Add a big button to the form 4. Add some sort of notification in the big button's click event handler (RadMessageBox) 5. Run the project and open the file dialog. 6. Position the dialog so the file (inside the open file dialog) you will choose will be over the big button. 7. Select a file by double clicking on it. You will see that the Click event for the big button will be fired.
To reproduce: Add a RadPanorama, add a TileGroupElement and RadTileElement. Add an ImageList and set it to the panorama. Set the ImageIndex to the tile element. You will notice that the image is visible in design time but after you run the application it will not be visible. Workaround: Set the ImageKey property with code.
ColumnChooserItems are transparent and the ColumnChooserControl.ColumnChooserElement.Text overlaps with them
To reproduce: - Add RadListView with some columns to a blank form. - Set the theme to Office2013Light. Workaround: - Open the theme in VSB. - Change the RadListView display mode to DetailsView (right click it and select DetailsView mode) - Expand up to DetailListViewHeaderCellElement - Add all sort states and set the arrow primitive element Visible property to visible for them.
VisualStudio2012Light - the Icon of RadForm and RadRibbonForm has incorrect alignment.
VisualStudio2012Dark theme has incorrect styling for RadLabel. The background color of RadLabel is not consistent with other colors.
To reproduce: - Add a RadDropDownList to a blank form and set its RadDropDownStyle to DropDownList. - Add a button which can Enable/Disable the drop down list. - You will notice that there is no visual clues that the control is disabled.
To reproduce: 1. Add two RadButton controls and use the following code: public Form1() { InitializeComponent(); this.radButton1.Font = new Font("Verdana",8.25f, GraphicsUnit.Point); this.radButton1.Enabled = false; this.radButton1.ButtonElement.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias; this.radButton2.Font = new Font("Segoe UI",8.25f, GraphicsUnit.Point); this.radButton2.ButtonElement.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias; this.radButton2.Enabled = false; } 2. If you zoom enough to investigate the exact text rendering, you will notice that the first button does not take into consideration the TextRenderingHint.AntiAlias. Resolution: Add the DisabledTextRenderingHint property which allow users to specify a text rendering hint that will be used in disabled states
RadTabStrip, RadToolStrip and RadTreeView still can get the focus if validating event is cancelled.
Currently RadGridView does not indicate via narrator when navigating in child rows.
1. Create a new project with RadGridView. 2. Add a combobox column. 3. Run the project and run Jaws. 4. Edit the combobox column and change its value. Jaws will not show any indication that the cell value is changed. We researched this case further and found that the Microsoft Accessibility (etc Jaws) can read only the editors in grid which contains Controls. By default ComboBoxColumn's DropDownStyle property is set DropDownList and in this mode the text box control is hidden cannot be edited. Also, when users using the arrow key for navigation the DropDown pop-up control is not visible etc. in this scenario there is no control which can be read from Jaws. public class MyDropDownEditorElement : RadItem { RadHostItem hostItem; RadDropDownList dropDownListControl; public MyDropDownEditorElement() { this.dropDownListControl = new RadDropDownList(); this.dropDownListControl.MinimumSize = new Size(160, 20); this.hostItem = new RadHostItem(this.dropDownListControl); this.hostItem.MinSize = new Size(160, 20); this.Children.Add(this.hostItem); this.MinSize = new Size(50, 20); } public RadDropDownList DropDownListControl { get {return this.dropDownListControl;} } protected override SizeF MeasureOverride(SizeF availableSize) { this.hostItem.MinSize = availableSize.ToSize(); this.dropDownListControl.MinimumSize = availableSize.ToSize(); return base.MeasureOverride(availableSize); } } public class MyDropDownControlEditor : BaseGridEditor { public override object Value { get { RadDropDownListElement editor = (this.EditorElement as MyDropDownEditorElement).DropDownListControl.DropDownListElement; if (!string.IsNullOrEmpty(editor.ValueMember)) { return editor.SelectedValue; } if (editor.SelectedItem != null) { return editor.SelectedItem.Text; } return editor.Text; } set { RadDropDownListElement editor = (this.EditorElement as MyDropDownEditorElement).DropDownListControl.DropDownListElement; if (value == null) { editor.SelectedItem = null; } else if (editor.ValueMember == null) { editor.SelectedItem = editor.ListElement.Items[editor.FindStringExact(value.ToString())]; } else { editor.SelectedValue = value; } } } public override void BeginEdit() { base.BeginEdit(); this.EditorElement.Focus(); GridViewComboBoxColumn column = ((GridViewComboBoxColumn)(((GridComboBoxCellElement)(EditorElement.Parent)).ColumnInfo)); RadDropDownList element = ((MyDropDownEditorElement)this.EditorElement).DropDownListControl; if (column.OwnerTemplate != null) { this.EditorElement.BindingContext = column.OwnerTemplate.BindingContext; } element.DataSource = null; element.FilterExpression = string.Empty; element.ValueMember = column.ValueMember != null ? column.ValueMember : column.DisplayMember; element.DisplayMember = column.DisplayMember != null ? column.DisplayMember : column.ValueMember; element.DataSource = column.DataSource; element.SelectedIndex = -1; element.AutoCompleteMode = column.AutoCompleteMode; element.DropDownStyle = column.DropDownStyle; ((MyDropDownEditorElement)this.EditorElement).DropDownListControl.SelectedIndexChanged += new Telerik.WinControls.UI.Data.PositionChangedEventHandler(DropDownListControl_SelectedIndexChanged); ((MyDropDownEditorElement)this.EditorElement).DropDownListControl.BringToFront(); } void DropDownListControl_SelectedIndexChanged(object sender, Telerik.WinControls.UI.Data.PositionChangedEventArgs e) { OnValueChanged(); } public override bool EndEdit() { ((MyDropDownEditorElement)this.EditorElement).DropDownListControl.SelectedIndexChanged -= new Telerik.WinControls.UI.Data.PositionChangedEventHandler(DropDownListControl_SelectedIndexChanged); return base.EndEdit(); } protected override RadElement CreateEditorElement() { return new MyDropDownEditorElement(); } }
Windows should read MessageBox Title, MessageBox Text and Highlighted Button
To reproduce: Inspect a RadCheckBox with UI Spy or Inspector and execute the DoDefaultAction method. You will see that nothing will happen. Workaround: Use the following classes: public class RadCheckBoxEx : RadCheckBox { protected override AccessibleObject CreateAccessibilityInstance() { return new RadCheckBoxAccessibleObjectEx(this, this.Name); } } public class RadCheckBoxAccessibleObjectEx : RadCheckBoxAccessibleObject { public RadCheckBoxAccessibleObjectEx(RadCheckBox owner, string name) : base(owner, name) { } public override void DoDefaultAction() { (this.OwnerElement as RadCheckBox).ToggleState = this.GetNextToggleState((this.OwnerElement as RadCheckBox).ToggleState); } private ToggleState GetNextToggleState(ToggleState toggleState) { if (toggleState == ToggleState.On) { if ((this.OwnerElement as RadCheckBox).IsThreeState) { return ToggleState.Indeterminate; } return ToggleState.Off; } else if (toggleState == ToggleState.Indeterminate) { return ToggleState.Off; } return ToggleState.On; } }
If there is some accessibility software running (screen readers, UI automation/inspection tools) and you try to edit a value in a decimal column, an exception will be thrown.
RadControls should implement the MS Active Accessibility rules.
Refactoring LightVisualElement text painting to use TextRenderingHint property.