brianlagunas_cp
4c7af54f3a
PropertyGrid: fixed issue where an ExpandableObject would only show properties of a base class or interface.
15 years ago
brianlagunas_cp
83ab7ea013
added new CheckComboBox control.
15 years ago
brianlagunas_cp
67bec40e17
Moved PropertyGrid changes into .NET 3.5 solution
15 years ago
brianlagunas_cp
436601e66d
PropertyGrid: Added PropertyGrid examples to the Samples application.
15 years ago
brianlagunas_cp
157a0c069b
PropertyGrid: removed IEditorDefinition interface.
15 years ago
brianlagunas_cp
a49a1f86d5
PropertyGrid: no longer support the ExpandableObjectConverter syntax for defining a complex property. I have added a new attribute called ExpandableObjectAttribute.
The syntax is as follows:
public class Person
{
[Description("First Name")]
public string FirstName { get; set; }
[Description("Last Name")]
public string LastName { get; set; }
[ExpandableObject]
public Person Spouse { get; set; }
}
15 years ago
brianlagunas_cp
8fddfbf5fa
PropertyGrid: added new property called AutoGenerateProperties. When true it will autogenerate all properties for an object. Wehn set to false if till not generate any properties, but instead you supply the property to show be defining PropertyDefinitions. here is an example:
<extToolkit:PropertyGrid AutoGenerateProperties="False">
<extToolkit:PropertyGrid.PropertyDefinitions>
<extToolkit:PropertyDefinition Name="FirstName" />
<extToolkit:PropertyDefinition Name="Age" />
</extToolkit:PropertyGrid.PropertyDefinitions>
</extToolkit:PropertyGrid>
This will only show the FirstName and Age properties of the bound object.
15 years ago
brianlagunas_cp
80f96bd330
PropertyGrid: fixed alignment of grid splitter for expanded properties
15 years ago
brianlagunas_cp
116ad1ec87
PropertyGrid: Implemented support for complex properties. You can now drill down into a hierarchy of an object's properties. I an not sure if I will create my own attribute or use the following syntax.
[TypeConverter(typeof(ExpandableObjectConverter))]
public Person Admin
{
get { return _admin; }
set { _admin = value; }
}
For now it works with the above syntax.
15 years ago
brianlagunas_cp
fb6e50dbe7
PropertyGrid: Deleted custom TypeEditorAttribute for defining editors and instead use the already common EditorAttribute provided my the .NET framework. Editors MUST implement the ITypeEditor interface. So now to declare custom editors you define them as follows:
private TimeSpan _timeSpan;
[Editor(typeof(MyCustomEditor), typeof(MyCustomEditor))]
public TimeSpan TimeSpan
{
get { return _timeSpan; }
set { _timeSpan = value; }
}
public class MyCustomEditor : ITypeEditor
{
public FrameworkElement ResolveEditor(PropertyItem propertyItem)
{
TextBox editor = new TextBox();
Binding binding = new Binding("Value"); //bind to the Value property of the PropertyItem instance
binding.Source = propertyItem;
binding.Mode = propertyItem.IsWriteable ? BindingMode.TwoWay : BindingMode.OneWay;
BindingOperations.SetBinding(editor, TextBox.TextProperty, binding);
return editor;
}
}
15 years ago
brianlagunas_cp
1b407ea505
PropertyGrid: fixed the alphabetical sorting. Got to watch those "magic strings" when renaming.
15 years ago
brianlagunas_cp
af16933e4e
PropertyGridItem: removed the feature of giving the editor focus when selecting a property. It was causing too many issues with custom editors
15 years ago
brianlagunas_cp
cd7f1f7d98
PropertyGrid: removed code that would gurantee that a editor will receiev focus, and instead the PropertyGrid does the best it can to give focus to the editor when a property is selected. This fixes problems when creating custom editors that depend on the MouseDown event
15 years ago
brianlagunas_cp
4246a61a21
PropertyGrid: added ability to define editors with a simple attribute called TypeEditorAttirbute. You can use a default editor or create a custom editor as follows:
public class MyCustomEditor : ITypeEditor
{
public FrameworkElement ResolveEditor(PropertyItem propertyItem)
{
TextBox editor = new TextBox();
Binding binding = new Binding("Value"); //bind to the Value property of the PropertyItem instance
binding.Source = propertyItem;
binding.Mode = propertyItem.IsWriteable ? BindingMode.TwoWay : BindingMode.OneWay;
BindingOperations.SetBinding(editor, TextBox.TextProperty, binding);
return editor;
}
}
Then attribute the property to use the editor on:
private TimeSpan _timeSpan;
[TypeEditor(typeof(MyCustomEditor))]
public TimeSpan TimeSpan
{
get { return _timeSpan; }
set { _timeSpan = value; }
}
15 years ago
brianlagunas_cp
20435ddf03
PropertyGrid: Added new attribute called ItemsSourceAttribute which allows you to use an attribute to specify a custom items source for a ComboBox editor. To use simply create a custom class the implements the IItemsSource interface:
public class ColorSource : IItemsSource
{
public IList<object> GetValues()
{
return new List<object>() { Colors.Blue, Colors.Gray, Colors.Green };
}
}
Then decorate your property with the ItemsSource attirbute and specify the Type of source to use:
private Color _color = Colors.Green;
[ItemsSource(typeof(ColorSource))]
public Color Color
{
get { return _color; }
set { _color = value; }
}
When the PropertyGrid loads, the editor for the Color property will be a ComboBox with an ItemsSource of ColorSource.GetValues().
15 years ago
brianlagunas_cp
61618ed930
PropertyGrid: fixed bug when the SelectedObject is set to null the information panel retains the last selected property info.
15 years ago
brianlagunas_cp
6797d89482
PropertyGrid: enabled the ability to define an EditorDefinition by property name as well. You can now have an EditorDefinition for a specific Type as well as for specific property names as well.
This example will provide a TextBox editor for any property of type DateTime as well as any property with the defined property names:
<extToolkit:PropertyGrid>
<extToolkit:PropertyGrid.EditorDefinitions>
<extToolkit:EditorDefinition TargetType="{x:Type sys:DateTime}">
<extToolkit:EditorDefinition.Properties>
<sys:String>FirstName</sys:String>
<sys:String>LastName</sys:String>
</extToolkit:EditorDefinition.Properties>
<extToolkit:EditorDefinition.EditorTemplate>
<DataTemplate>
<TextBox Text="{Binding Value}" />
</DataTemplate>
</extToolkit:EditorDefinition.EditorTemplate>
</extToolkit:EditorDefinition>
</extToolkit:PropertyGrid.EditorDefinitions>
</extToolkit:PropertyGrid>
You can also target just a Type or just property names.
15 years ago
brianlagunas_cp
235f46b99c
PropertyGrid: added TimeSpan editor
15 years ago
brianlagunas_cp
bb2e786640
PropertyGrid BREAKING CHANGES - renamed CustomTypeEditors to EditorDefinitions. Added ability to add custom editors by declaring a DataTemplate. You can target a Type or a list of PropertyNames.
Example:
<extToolkit:PropertyGrid>
<extToolkit:PropertyGrid.EditorDefinitions>
<extToolkit:EditorDefinition TargetType="{x:Type sys:DateTime}">
<extToolkit:EditorDefinition.EditorTemplate>
<DataTemplate>
<extToolkit:DateTimeUpDown Format="ShortDate" Value="{Binding Value}" />
</DataTemplate>
</extToolkit:EditorDefinition.EditorTemplate>
</extToolkit:EditorDefinition>
</extToolkit:PropertyGrid.EditorDefinitions>
</extToolkit:PropertyGrid>
15 years ago
brianlagunas_cp
48b1969858
PropertyGrid: implemented CustomTypeEditors and also did some refactoring.
15 years ago
brianlagunas_cp
d975a9ff12
PropertyGrid: made converter public. for some reason I total missed that one.
15 years ago
brianlagunas_cp
8c1d87db6c
PropertyGrid: added new AdvanceOptionsMenu property that allows you to specify a custom ContentMenu for the AdvanceOptions button on a property item.
15 years ago
brianlagunas_cp
66c4165ba9
PropertyGrid: added ShowAdvancedOptions property.
15 years ago
brianlagunas_cp
9ab58c5d44
various improvements. slightly changed ColorPicker style to match the rest of the dropdown controls.
15 years ago
brianlagunas_cp
58e14addb7
New PrimitiveTypeCollectionEditor added. It is used for editing IList<PrimitiveType> such as Int and String. PropertyGrid now uses this editor for editing primitive colleciton types.
15 years ago
brianlagunas_cp
25ca91845c
PropertyGrid: finished CollectionEditor control. This editor will only work for collections that implement the IList interface.
15 years ago
brianlagunas_cp
c8b62817b0
PropertyGrid: working on Collection editor. This editor will only be able to add/remove items from a collection of IList.
15 years ago
brianlagunas_cp
e64f54a73a
PropertyGrid: added Update() method which will allow you to update all property values in the PropertyGrid with the data from the SelectedObject. This is helpful when your SelectedObject does not implement the INotifyPropertyChanged interface.
15 years ago
brianlagunas_cp
5dcee07ab1
PropertyGrid: working on collection editor
15 years ago
brianlagunas_cp
e7aeffa74b
ProperytGrid: Filtering now filters off the DisplayName
15 years ago
brianlagunas_cp
9b07f8eb0e
PropertyGrid: removing properties that are not Browsable
15 years ago
brianlagunas_cp
081c6fa8c5
PropertyGrid: added color editor.
15 years ago
brianlagunas_cp
97aef78e9b
PropertyGrid: added support for the DisplayNameAttribute
15 years ago
brianlagunas_cp
cfb6871a0a
PropertyGrid: added filtering
15 years ago
brianlagunas_cp
6e334811e0
PropertyGrid: improved how I populated the property descriptors and starting to work on filtering
15 years ago
brianlagunas_cp
a9e0e63dd8
PropertyGrid EnumComboBoxEditor: removed values with Browsable attribute
16 years ago
brianlagunas_cp
6d08df0493
Getting ready for v1.4 release
16 years ago
brianlagunas_cp
1f0df02a40
refactored new numeric editors and added the editors to the PropertyGrid control. Now time to start ripping out the old NumericUpDown control.
16 years ago
brianlagunas_cp
4a64011c1b
checked in initial IntegerUpDown control. Not ready for use, just getting it in the code base.
16 years ago
brianlagunas_cp
89fcc42bd2
Added Watermark and WatermarkTemplate to all controls derived from InputBase.
16 years ago
brianlagunas_cp
8ed67339d5
Major overhaul of NumericUpDown, DateTimeUpDown, and MaskedTextBox in order to support null values. Need extensive testing because I am sure I broke something.
16 years ago
brianlagunas_cp
895d6d0156
Merged all current 4.0 changes into the 3.5 solution. Didn't fully test all controls, but they all compile and seem to work. Not sure how much longer I will support 3.5 since it is so time consuming and a pain to do it.
16 years ago
brianlagunas_cp
7a4e6a9ba1
PropertyGrid: refactored editors
16 years ago
brianlagunas_cp
4f619762cc
PropertyGrid: minor fixes, implemented TextBlockEditor for readonly properties.
16 years ago
brianlagunas_cp
603dd4c310
PropertyGrid: Fixed column resizing when switching from Categorized to Alphabetized
16 years ago
brianlagunas_cp
7e4b9250f1
PropertyGrid: added DisplaySummary property to allow you to show/hide the Suammry area
16 years ago
brianlagunas_cp
e9aedfdcf7
PropertyGrid: Working on property options, and ValueSource icons.
16 years ago
brianlagunas_cp
0f96db0328
PropertyGrid: implemented DateTimeUpDown type editor. Working on property binding options menu.
16 years ago
brianlagunas_cp
1d8377f536
PropertyGrid: FontComboBoxEditor implemented all fonts.
16 years ago
brianlagunas_cp
f4610a2cb0
PropertyGrid: added NumericUpDown type editor for double and int.
16 years ago