Currently when one filters properties through the Search bar they are filtered based on their Name instead of the display name or label.
Steps to reproduce: 1. Add a RadPropertyGrid to a form 2. Set the SelectedObject property to an object with an enum property 3. Open the enum property for edit. 4. Click on another control that can take focus e.g. the form control box buttons You will see that the editor remains open.
Steps to reproduce: 1. Add a RadPropertyGrid to a form. 2. Set the SelectedObjects property to a array of one object that has a property decorated with the ReadOnly attribute. Run the project and you will see that the read only property is not displayed.
Pressing Ctrl + Enter should create a new row in the editor instead of closing it. WORKAROUND: Replace the default editor with the following one in the EditorRequired event: class MyPropertyGridTextBoxEditor : PropertyGridTextBoxEditor { protected override void OnKeyDown(System.Windows.Forms.KeyEventArgs e) { if (e.Modifiers == System.Windows.Forms.Keys.Control && e.KeyCode == System.Windows.Forms.Keys.Enter) { return; } base.OnKeyDown(e); } }
To reproduce: public Form1() { InitializeComponent(); PropertyStoreItem intItem = new PropertyStoreItem(typeof(int), "Integer", 1); PropertyStoreItem floatItem = new PropertyStoreItem(typeof(float), "Float", 1f, "Property storing a floating point value."); PropertyStoreItem stringItem = new PropertyStoreItem(typeof(string), "String", "telerik", "Property storing a string value", "Telerik"); PropertyStoreItem dockItem = new PropertyStoreItem(typeof(DockStyle), "Dock", DockStyle.Top, "Property containing DockStyle value", "Layout", false); RadPropertyStore store = new RadPropertyStore(); store.Add(intItem); store.Add(floatItem); store.Add(stringItem); store.Add(dockItem); this.radPropertyGrid1.SelectedObject = store; } private void radButton1_Click(object sender, EventArgs e) { PropertyStoreItem intItem = new PropertyStoreItem(typeof(int), "Integer111", 1); PropertyStoreItem floatItem = new PropertyStoreItem(typeof(float), "Float111", 1f, "Property storing a floating point value.111"); PropertyStoreItem stringItem = new PropertyStoreItem(typeof(string), "String111", "telerik", "Property storing a string value", "Telerik111"); PropertyStoreItem dockItem = new PropertyStoreItem(typeof(DockStyle), "Dock111", DockStyle.Top, "Property containing DockStyle value", "Layout111", false); RadPropertyStore store = new RadPropertyStore(); store.Add(intItem); store.Add(floatItem); store.Add(stringItem); store.Add(dockItem); this.radPropertyGrid1.SelectedObject = store; } WORKAOUND: radPropertyGrid1.PropertyGridElement.SplitElement.HelpElement.TitleText = ""; radPropertyGrid1.PropertyGridElement.SplitElement.HelpElement.ContentText = "";
Currently RadPropertyGrid uses CurrentUICulture for localization, while it should use CurrentCulture.
Steps to reproduce: 1. Create a custom type descriptor for an object that returns less properties than the default one. 2. Set this descriptor to the object 3. Set an object array containing two such objects to the SelectedObjects property of RadPropertyGrid 4. Run the project and you will see all properties of the object are shown disrespecting the custom type descriptor.
Steps to reproduce: 1. Set a PasswordPropertyText(true) attribute to a string property of an object. 2. Set the object as selected of a property grid. 3. Open the password property for edit. Any other text property you try to edit will be handled as if it was password.
In some cases when the selected object is changed while a bool property is selected an InvalidCastExceptions is thrown. Check ticket for reproduction steps and project.
RadPropertyGrid calls the TypeConverter methods GetStandardValuesSupported and GetStandardValues passing null as parameter when it should pass the property item. Code to reproduce: this.radPropertyGrid1.SelectedObject = new SomeClass(); public class SomeClass { [TypeConverter(typeof(CustomValueConverter))] public string CustomValue { get; set; } } public class CustomValueConverter : TypeConverter { public override bool GetStandardValuesSupported(ITypeDescriptorContext context) { return true; } public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) { return base.GetStandardValues(context); } }
When editing a DateTime? property the property grid shows a text box editor instead of calendar.
FIX. RadPropertyGrid - setting the SelectedObject to something and then set it to a property store, does not remove the initial items Workaround: clear the items prior setting the property store: this.radPropertyGrid1.PropertyGridElement.PropertyTableElement.ListSource.Clear();
When using a the following property store item: this.PropertyStore.Add(typeof(Image) , "Test Image" , null ); the user cannot select an image via the BrowseEditor.
When you change the CurrentUICulture the string "(none)" in the PropertyGridItemElement is localized but when you open the editor, the text is still "(none)".
1. Drag a new RadPropertyGrid to a form. 2. Set the selected object property to any object 3. Add an event handler for the PropertyValueChanged event and add code in it that sets the same object as selected object of the property grid. 4. You will get a NullReferenceException
Steps to reproduce. 1. Drag a RadPropertyGrid to a form. 2. Set the selected object to a button for example. 3. Set the System.Threading.Thread.CurrentThread.CurrentUICulture to bg-BG for example 4. Run the project and try to edit the Size property. You will see that it is displayed in the format X;Y, but you have to enter string in the X,Y format otherwise you get an exception.