Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/xamarin/Xamarin.PropertyEditing.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--[-rwxr-xr-x]Xamarin.PropertyEditing.Windows/PropertyPresenter.cs19
-rw-r--r--Xamarin.PropertyEditing.Windows/Themes/Resources.xaml5
2 files changed, 20 insertions, 4 deletions
diff --git a/Xamarin.PropertyEditing.Windows/PropertyPresenter.cs b/Xamarin.PropertyEditing.Windows/PropertyPresenter.cs
index 4cf1813..72a009b 100755..100644
--- a/Xamarin.PropertyEditing.Windows/PropertyPresenter.cs
+++ b/Xamarin.PropertyEditing.Windows/PropertyPresenter.cs
@@ -6,6 +6,7 @@ using System.Windows.Automation;
using System.Windows.Automation.Peers;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
+using System.Windows.Input;
using System.Windows.Media;
using Xamarin.PropertyEditing.ViewModels;
@@ -112,6 +113,12 @@ namespace Xamarin.PropertyEditing.Windows
this.variationRow = (RowDefinition) GetTemplateChild ("variationRow");
this.variationsList = GetTemplateChild ("variationsList") as ItemsControl;
+
+ this.propertyButton = (PropertyButton) GetTemplateChild ("propertyButton");
+
+ this.propertyContainer = (Border) GetTemplateChild ("propertyContainer");
+ // Since the template never changes, the handler only gets added once and there's no need to unsubscribe
+ this.propertyContainer.AddHandler (Border.PreviewKeyDownEvent, new KeyEventHandler (PropertyContainer_PreviewKeyDown));
}
protected override AutomationPeer OnCreateAutomationPeer ()
@@ -155,10 +162,22 @@ namespace Xamarin.PropertyEditing.Windows
}
}
+ private void PropertyContainer_PreviewKeyDown (object sender, KeyEventArgs e)
+ {
+ var isModifierControl = Keyboard.Modifiers == ModifierKeys.Control;
+
+ if (e.Key == Key.Space && isModifierControl) {
+ propertyButton.ShowMenu ();
+ e.Handled = true;
+ }
+ }
+
private PropertyViewModel pvm;
private ButtonBase addButton, removeButton;
private RowDefinition variationRow;
private ItemsControl variationsList;
+ private Border propertyContainer;
+ private PropertyButton propertyButton;
private void OnLoaded (object sender, RoutedEventArgs e)
{
diff --git a/Xamarin.PropertyEditing.Windows/Themes/Resources.xaml b/Xamarin.PropertyEditing.Windows/Themes/Resources.xaml
index 2b0938e..cafc4c0 100644
--- a/Xamarin.PropertyEditing.Windows/Themes/Resources.xaml
+++ b/Xamarin.PropertyEditing.Windows/Themes/Resources.xaml
@@ -1708,10 +1708,7 @@
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="local:PropertyPresenter">
- <Border Padding="{TemplateBinding Padding}" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
- <Border.InputBindings>
- <KeyBinding Gesture="CTRL+Space" Command="{StaticResource InvokePropertyButtonCommand}" CommandParameter="{Binding ElementName=propertyButton,Mode=OneTime}" />
- </Border.InputBindings>
+ <Border x:Name="propertyContainer" Padding="{TemplateBinding Padding}" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Name="delveColumn" Width="Auto" />