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 0bf159a3fb..57efda84ec 100644
--- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/ControlStyles.xaml
+++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/ControlStyles.xaml
@@ -489,4 +489,19 @@
+
diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/MarginHandle.cs b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/MarginHandle.cs
index acde94bb1b..94e6e8659a 100644
--- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/MarginHandle.cs
+++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/MarginHandle.cs
@@ -6,6 +6,7 @@
//
using System;
+using System.ComponentModel;
using System.Diagnostics;
using System.Collections.Generic;
using System.Linq;
@@ -88,6 +89,11 @@ namespace ICSharpCode.WpfDesign.Designer.Controls
/// Decides whether to permanently display the handle or not.
///
public bool ShouldBeVisible { get; set; }
+
+ ///
+ /// Decides whether stub has to be only displayed.
+ ///
+ public bool DisplayOnlyStub { get; set; }
public MarginHandle(DesignItem adornedControlItem, AdornerPanel adornerPanel, HandleOrientation orientation)
{
@@ -148,16 +154,22 @@ namespace ICSharpCode.WpfDesign.Designer.Controls
///
///
public void DecideVisiblity(double handleLength)
- {
- if(ShouldBeVisible){
- marginStub.Visibility = handleLength == 0.0 ? Visibility.Visible : Visibility.Hidden;
- this.Visibility = handleLength != 0.0 ? Visibility.Visible : Visibility.Hidden;
- if (this.lineArrow != null){
- lineArrow.Visibility = handleLength < 23 ? Visibility.Hidden : Visibility.Visible;
- }
+ {
+ if(!DisplayOnlyStub){
+ if(ShouldBeVisible){
+ marginStub.Visibility = handleLength == 0.0 ? Visibility.Visible : Visibility.Hidden;
+ this.Visibility = handleLength != 0.0 ? Visibility.Visible : Visibility.Hidden;
+ if (this.lineArrow != null){
+ lineArrow.Visibility = handleLength < 23 ? Visibility.Hidden : Visibility.Visible;
+ }
+ }
}
- }
-
+ else {
+ DisplayOnlyStub=false;
+ DecideVisiblity(this.HandleLength);
+ }
+ }
+
public override void OnApplyTemplate()
{
base.OnApplyTemplate();
diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/QuickOperationMenu.cs b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/QuickOperationMenu.cs
new file mode 100644
index 0000000000..91aca1d11e
--- /dev/null
+++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/QuickOperationMenu.cs
@@ -0,0 +1,133 @@
+//
+//
+//
+//
+// $Revision: $
+//
+using System;
+using System.Collections.Generic;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Input;
+
+namespace ICSharpCode.WpfDesign.Designer.Controls
+{
+ ///
+ /// A Small icon which shows up a menu containing common properties
+ ///
+ public class QuickOperationMenu : Control
+ {
+ static QuickOperationMenu()
+ {
+ DefaultStyleKeyProperty.OverrideMetadata(typeof (QuickOperationMenu), new FrameworkPropertyMetadata(typeof (QuickOperationMenu)));
+ }
+
+ private MenuItem _mainHeader;
+
+ ///
+ /// Contains Default values in the Sub menu for example "HorizontalAlignment" has "HorizontalAlignment.Stretch" as it's value.
+ ///
+ private readonly Dictionary