brianlagunas_cp
f3a0d20ebd
PropertyGrid: added feature that allows you to specify a display name when using the IItemsSource attribute.
15 years ago
brianlagunas_cp
ec9f9cc534
playing with theming
15 years ago
brianlagunas_cp
03cc414929
More theming fun with the ButtonSpinner
15 years ago
brianlagunas_cp
265b4c02aa
Starting to play around with theming. Starting with the ButtonSpinner.
15 years ago
brianlagunas_cp
d073b12f3c
BREAKING CHANGES: CheckComboBox and CheckListBox now derives from same Selector base class.
15 years ago
brianlagunas_cp
f3aad8decc
added new CheckComboBox control.
15 years ago
brianlagunas_cp
bdcfc9c093
TokenizedTextBox: got the basics working. No autocomplete yet, but the value is looked up from the ItemsSource. This control can be used with or without an itemsrouce backing values. If no ItemsSource is define, the Text property will be a list of semi-colon separated values. If backed by an ItemsSource the Text property will be a semi-colon separated list of values based on the ValueMemberPath property:
<extToolkit:TokenizedTextBox x:Name="_textBox"
DisplayMemberPath="FullName" //value to display
SearchMemberPath="FirstName" //value to search for when typing
ValueMemberPath="Id" //value to store in text property />
//code behind
_textBox.Text = "1;2;"; //list of object ids
_textBox.ItemsSource = new List<Email>() //use as lookup values
{
new Email() { Id = 1, FirstName = "John", LastName = "Doe", EmailAddress = "john@test.com" },
new Email() { Id = 2, FirstName = "Jane", LastName = "Doe", EmailAddress = "jane@test.com" },
};
15 years ago
brianlagunas_cp
0499cd1b56
added new control TokenizedTextBox. Not ready for use yet, still working on architecture and funtionality.
15 years ago
brianlagunas_cp
af4c60208d
Moved PropertyGrid changes into .NET 3.5 solution
15 years ago
brianlagunas_cp
bafa2e2702
PropertyGrid: removed IEditorDefinition interface.
15 years ago
brianlagunas_cp
f27e96d16e
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
50f76f0649
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
bdbd98b09e
PropertyGrid: fixed alignment of grid splitter for expanded properties
15 years ago
brianlagunas_cp
093c0485c2
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
f39523515d
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
96a65ec051
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
b3152155b1
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
3fbc48411a
PropertyGrid: added TimeSpan editor
15 years ago
brianlagunas_cp
2523b237d2
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
58df15643c
Magnifier: added new FrameType property which allows you to choose between a Circular or Rectangular magnifier.
15 years ago
brianlagunas_cp
790d7159f1
merged all controls and bug fixes into the .NET 3.5 solution.
15 years ago
brianlagunas_cp
a211507f8d
Starting to work on the styling of the Wizard control and WizardPages
15 years ago
brianlagunas_cp
75dcc5524e
added new MultiLineTextEditor control. PrimitiveTypeCollectionEditor now uses this control for accepting text input.
15 years ago
brianlagunas_cp
cfcb570f14
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
8aaac023af
PropertyGrid: finished CollectionEditor control. This editor will only work for collections that implement the IList interface.
15 years ago
brianlagunas_cp
54fdc2c072
Wizard: Implemented Wizard Pages, Help, Back, Next buttons. Added features to set visibility of buttons from the Wizard and then override the behavior from the individual wizard pages. No styling yet. It's pretty plain.
15 years ago
brianlagunas_cp
817c85bd61
initial checkin of Wizard control and sample module. Nothing usable yet, just mainly stubbing out the code.
15 years ago
brianlagunas_cp
dac6d6469e
PropertyGrid: working on collection editor
15 years ago
brianlagunas_cp
f12df52f69
CheckListBox: renamed properties
15 years ago
brianlagunas_cp
8f286ab983
added new DropDownButton control
15 years ago
brianlagunas_cp
a361af4ead
PropertyGrid: Fixed title of description box not binding to DisplayName.
15 years ago
brianlagunas_cp
096fd815ce
working on the CheckListBox. You bind your collection to the ItemsSource property. Set the DisplayMemberPath, and the CheckedMemberPath. It also supports Commanding. Set the Command property to your command. The parameter will default to the SelectedItem, which is the item that was just checked/unchecked. It also has a SelectionChganged event. You can obtain the object the was check/unchecked from the e.Item property of the event args.
15 years ago
brianlagunas_cp
402858a083
initial check-in of new CheckListBox. not ready for use yet. still playing with architecture.
15 years ago
brianlagunas_cp
26f996d834
forgot to removed maskedTextBox theme
15 years ago
brianlagunas_cp
8e5c79604a
refactored new numeric editors and added the editors to the PropertyGrid control. Now time to start ripping out the old NumericUpDown control.
15 years ago
brianlagunas_cp
51e6a10b9f
check in of new DecimalUpDown and DoubleUpDown. All numeric UpDown controls shoudl be functional. Now it is time to refactor.
15 years ago
brianlagunas_cp
6f5d844125
checked in initial IntegerUpDown control. Not ready for use, just getting it in the code base.
15 years ago
brianlagunas_cp
c4b66dce21
DateTimeUpDown: working on making the control editable (enter values with keyboard). Only have the date editing working. Still working on the time editing.
15 years ago
brianlagunas_cp
faa7825423
Major overhaul of NumericUpDown, DateTimeUpDown, and MaskedTextBox in order to support null values. Need extensive testing because I am sure I broke something.
15 years ago
brianlagunas_cp
8cc7bb073b
NumericUpDown: changed default ValueType to Decimal.
initial check in of new Calculator UpDown control.
15 years ago
brianlagunas_cp
a78bf7baae
Calculator: implemented memory functions
15 years ago
brianlagunas_cp
7d6b612fff
Working on Calculator
15 years ago
brianlagunas_cp
3a3f64f6d2
initial check-in of Calculator control.
15 years ago
brianlagunas_cp
cb6f9d1910
working on TimePicker
15 years ago
brianlagunas_cp
20ca224b52
ChildWindow: added FocusedElement property that will allow you to set the initial focused element when the ChildWindow is shown/receives focus.
FocusedElement="{Binding ElementName=_textBox}"
15 years ago
brianlagunas_cp
f3091ccbc5
check-in initial TimePicker control. Not ready to be used, still trying to decide what approach to take to develop it.
15 years ago
brianlagunas_cp
e49f830059
initial check-in of new DateTimePicker control. Get the best of both worlds. This combines the DateTimeUpDown control with a drop down that has a Calendar control and another TimeUpDown control.
15 years ago
brianlagunas_cp
9737ba0c3f
initial check in of new WatermarkTextBox control.
15 years ago
brianlagunas_cp
a030fcd934
initial checkin of new ColorCanvas control. This is an advanced color control that is not within a popup, but acts as a stand alone control that allows you to select colors by using a color canvas, or by setting RGB and Alpha values.
15 years ago
brianlagunas_cp
26e89f796b
PropertyGrid: minor fixes, implemented TextBlockEditor for readonly properties.
15 years ago