diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign/Project/PropertyEditor/EditorManager.cs b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign/Project/PropertyEditor/EditorManager.cs
index a686c2ce67..dcd8bec79e 100644
--- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign/Project/PropertyEditor/EditorManager.cs
+++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign/Project/PropertyEditor/EditorManager.cs
@@ -63,7 +63,7 @@ namespace ICSharpCode.WpfDesign.PropertyEditor
{
Type returnType = property.ReturnType;
if (returnType.IsEnum) {
- return typeof(EnumEditor);
+ return typeof(StandardValuesComboBoxEditor);
} else if (returnType == typeof(bool)) {
return typeof(BooleanEditor);
} else {
diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign/Project/PropertyEditor/EnumEditor.cs b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign/Project/PropertyEditor/StandardValuesComboBoxEditor.cs
similarity index 65%
rename from src/AddIns/DisplayBindings/WpfDesign/WpfDesign/Project/PropertyEditor/EnumEditor.cs
rename to src/AddIns/DisplayBindings/WpfDesign/WpfDesign/Project/PropertyEditor/StandardValuesComboBoxEditor.cs
index d974084722..8a10564c6b 100644
--- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign/Project/PropertyEditor/EnumEditor.cs
+++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign/Project/PropertyEditor/StandardValuesComboBoxEditor.cs
@@ -18,14 +18,17 @@ namespace ICSharpCode.WpfDesign.PropertyEditor
///
/// Type editor used to edit enum properties.
///
- sealed class EnumEditor : ComboBox
+ sealed class StandardValuesComboBoxEditor : ComboBox
{
///
/// Creates a new EnumEditor instance.
///
- public EnumEditor(IPropertyEditorDataProperty property)
+ public StandardValuesComboBoxEditor(IPropertyEditorDataProperty property)
{
-
+ foreach (object o in property.TypeConverter.GetStandardValues()) {
+ this.Items.Add(o);
+ }
+ SetBinding(ComboBox.SelectedItemProperty, PropertyEditorBindingHelper.CreateBinding(this, property));
}
}
}
diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign/Project/PropertyEditor/TextBoxEditor.cs b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign/Project/PropertyEditor/TextBoxEditor.cs
index 48193170d1..974bb182d3 100644
--- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign/Project/PropertyEditor/TextBoxEditor.cs
+++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign/Project/PropertyEditor/TextBoxEditor.cs
@@ -13,6 +13,7 @@ using System.Windows.Data;
using System.Windows.Media;
using System.Windows.Controls;
using System.Windows.Documents;
+using System.Windows.Input;
namespace ICSharpCode.WpfDesign.PropertyEditor
{
@@ -21,6 +22,8 @@ namespace ICSharpCode.WpfDesign.PropertyEditor
///
sealed class TextBoxEditor : TextBox
{
+ BindingExpressionBase bindingResult;
+
///
/// Creates a new TextBoxEditor instance.
///
@@ -28,7 +31,20 @@ namespace ICSharpCode.WpfDesign.PropertyEditor
{
Binding b = PropertyEditorBindingHelper.CreateBinding(this, property);
b.Converter = new ToStringConverter(property.TypeConverter);
- SetBinding(TextProperty, b);
+ bindingResult = SetBinding(TextProperty, b);
+ }
+
+ protected override void OnKeyDown(KeyEventArgs e)
+ {
+ base.OnKeyDown(e);
+ if (!e.Handled && e.Key == Key.Enter) {
+ string oldText = this.Text;
+ bindingResult.UpdateSource();
+ if (this.Text != oldText) {
+ this.SelectAll();
+ }
+ e.Handled = true;
+ }
}
sealed class ToStringConverter : IValueConverter
diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign/Project/WpfDesign.csproj b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign/Project/WpfDesign.csproj
index a6ac387aae..4442b43b5a 100644
--- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign/Project/WpfDesign.csproj
+++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign/Project/WpfDesign.csproj
@@ -80,7 +80,7 @@
-
+