diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/ControlStyles.xaml b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/ControlStyles.xaml
index a0d1ac20a9..2a80e2118e 100644
--- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/ControlStyles.xaml
+++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/ControlStyles.xaml
@@ -123,8 +123,8 @@
-
-
+
+
diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/WindowClone.cs b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/WindowClone.cs
index ef4cf69196..f17876425c 100644
--- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/WindowClone.cs
+++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/WindowClone.cs
@@ -93,15 +93,20 @@ namespace ICSharpCode.WpfDesign.Designer.Controls
get { return owner; }
set { owner = value; }
}
-
+
///
/// Gets or sets the resize mode.
///
- public ResizeMode ResizeMode {
- get { return (ResizeMode)GetValue(Window.ResizeModeProperty); }
- set { SetValue(Window.ResizeModeProperty, value); }
+ public ResizeMode ResizeMode
+ {
+ get { return (ResizeMode)GetValue(ResizeModeProperty); }
+ set { SetValue(ResizeModeProperty, value); }
}
-
+
+ // Using a DependencyProperty as the backing store for ResizeMode. This enables animation, styling, binding, etc...
+ public static readonly DependencyProperty ResizeModeProperty =
+ DependencyProperty.Register("ResizeMode", typeof(ResizeMode), typeof(WindowClone), new PropertyMetadata(System.Windows.ResizeMode.CanResize));
+
///
/// This property has no effect. (for compatibility with only).
///
diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Converters.cs b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Converters.cs
index e2df3c5568..8450b8bcfe 100644
--- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Converters.cs
+++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Converters.cs
@@ -300,7 +300,36 @@ namespace ICSharpCode.WpfDesign.Designer.Converters
return Enum.Parse(targetType, parameterString);
}
}
-
+
+ public class EnumCollapsed : IValueConverter
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes", Justification = "converter is immutable")]
+ public static readonly EnumCollapsed Instance = new EnumCollapsed();
+
+ public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ string parameterString = parameter as string;
+ if (parameterString == null)
+ return DependencyProperty.UnsetValue;
+
+ if (Enum.IsDefined(value.GetType(), value) == false)
+ return DependencyProperty.UnsetValue;
+
+ object parameterValue = Enum.Parse(value.GetType(), parameterString);
+
+ return parameterValue.Equals(value) ? Visibility.Collapsed : Visibility.Visible;
+ }
+
+ public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
+ {
+ string parameterString = parameter as string;
+ if (parameterString == null)
+ return DependencyProperty.UnsetValue;
+
+ return Enum.Parse(targetType, parameterString);
+ }
+ }
+
public class InvertedZoomConverter : IValueConverter
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes", Justification = "converter is immutable")]