Browse Source

Merge pull request #1046 from AvaloniaUI/fixes/566-set-handled-on-command-execution

Set e.Handled on command execution.
repros/content-presenter-regression
danwalmsley 9 years ago
committed by GitHub
parent
commit
51fb646faf
  1. 6
      src/Avalonia.Controls/Button.cs
  2. 2
      src/Avalonia.Controls/Menu.cs
  3. 11
      src/Avalonia.Controls/MenuItem.cs
  4. 4
      src/Avalonia.Styling/Styling/Style.cs

6
src/Avalonia.Controls/Button.cs

@ -207,7 +207,11 @@ namespace Avalonia.Controls
/// <param name="e">The event args.</param> /// <param name="e">The event args.</param>
protected virtual void OnClick(RoutedEventArgs e) protected virtual void OnClick(RoutedEventArgs e)
{ {
Command?.Execute(CommandParameter); if (Command != null)
{
Command.Execute(CommandParameter);
e.Handled = true;
}
} }
/// <inheritdoc/> /// <inheritdoc/>

2
src/Avalonia.Controls/Menu.cs

@ -47,7 +47,7 @@ namespace Avalonia.Controls
static Menu() static Menu()
{ {
ItemsPanelProperty.OverrideDefaultValue(typeof(Menu), DefaultPanel); ItemsPanelProperty.OverrideDefaultValue(typeof(Menu), DefaultPanel);
MenuItem.ClickEvent.AddClassHandler<Menu>(x => x.OnMenuClick); MenuItem.ClickEvent.AddClassHandler<Menu>(x => x.OnMenuClick, handledEventsToo: true);
MenuItem.SubmenuOpenedEvent.AddClassHandler<Menu>(x => x.OnSubmenuOpened); MenuItem.SubmenuOpenedEvent.AddClassHandler<Menu>(x => x.OnSubmenuOpened);
} }

11
src/Avalonia.Controls/MenuItem.cs

@ -102,6 +102,11 @@ namespace Avalonia.Controls
AccessKeyHandler.AccessKeyPressedEvent.AddClassHandler<MenuItem>(x => x.AccessKeyPressed); AccessKeyHandler.AccessKeyPressedEvent.AddClassHandler<MenuItem>(x => x.AccessKeyPressed);
} }
public MenuItem()
{
}
/// <summary> /// <summary>
/// Occurs when a <see cref="MenuItem"/> without a submenu is clicked. /// Occurs when a <see cref="MenuItem"/> without a submenu is clicked.
/// </summary> /// </summary>
@ -192,7 +197,11 @@ namespace Avalonia.Controls
/// <param name="e">The click event args.</param> /// <param name="e">The click event args.</param>
protected virtual void OnClick(RoutedEventArgs e) protected virtual void OnClick(RoutedEventArgs e)
{ {
Command?.Execute(CommandParameter); if (Command != null)
{
Command.Execute(CommandParameter);
e.Handled = true;
}
} }
/// <summary> /// <summary>

4
src/Avalonia.Styling/Styling/Style.cs

@ -61,12 +61,12 @@ namespace Avalonia.Styling
} }
/// <summary> /// <summary>
/// Gets or sets style's selector. /// Gets or sets the style's selector.
/// </summary> /// </summary>
public Selector Selector { get; set; } public Selector Selector { get; set; }
/// <summary> /// <summary>
/// Gets or sets style's setters. /// Gets or sets the style's setters.
/// </summary> /// </summary>
[Content] [Content]
public IEnumerable<ISetter> Setters { get; set; } = new List<ISetter>(); public IEnumerable<ISetter> Setters { get; set; } = new List<ISetter>();

Loading…
Cancel
Save