|
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
#region Using declarations
#if RIBBON_IN_FRAMEWORK
using System.Windows.Controls.Ribbon;
#if RIBBON_IN_FRAMEWORK
namespace System.Windows.Controls
#else
namespace Microsoft.Windows.Controls
#endif
{
#else
using Microsoft.Windows.Controls.Ribbon;
#endif
#endregion
/// <summary>
/// Event args for KeyTipService.ActivatingKeyTipEvent
/// </summary>
public class ActivatingKeyTipEventArgs : RoutedEventArgs
{
#region Constructor
public ActivatingKeyTipEventArgs()
{
RoutedEvent = KeyTipService.ActivatingKeyTipEvent;
KeyTipHorizontalPlacement = KeyTipHorizontalPlacement.KeyTipCenterAtTargetCenter;
KeyTipVerticalPlacement = KeyTipVerticalPlacement.KeyTipCenterAtTargetCenter;
PlacementTarget = null;
KeyTipHorizontalOffset = 0;
KeyTipVerticalOffset = 0;
KeyTipVisibility = Visibility.Visible;
}
#endregion
#region Properties
/// <summary>
/// Horizontal placement for keytip
/// </summary>
public KeyTipHorizontalPlacement KeyTipHorizontalPlacement
{
get;
set;
}
/// <summary>
/// Vertical placement for keytip
/// </summary>
public KeyTipVerticalPlacement KeyTipVerticalPlacement
{
get;
set;
}
/// <summary>
/// Placement target for keytip
/// </summary>
public UIElement PlacementTarget
{
get;
set;
}
/// <summary>
/// Horizontal offset from the defined horizontal placement.
/// </summary>
public double KeyTipHorizontalOffset
{
get
{
return _horizontalOffset;
}
set
{
if (double.IsInfinity(value) || double.IsNaN(value))
{
throw new ArgumentException(Microsoft.Windows.Controls.SR.InvalidKeyTipOffset);
}
_horizontalOffset = value;
}
}
/// <summary>
/// Vertical offset from the defined vertical placement.
/// </summary>
public double KeyTipVerticalOffset
{
get
{
return _verticalOffset;
}
set
{
if (double.IsInfinity(value) || double.IsNaN(value))
{
throw new ArgumentException(Microsoft.Windows.Controls.SR.InvalidKeyTipOffset);
}
_verticalOffset = value;
}
}
/// <summary>
/// Visibility for the keytip.
/// Visible: KeyTip will be visible (if it can) and functional / accessible.
/// Hidden: KeyTip will be hidden but will be accessible.
/// Collapsed: KeyTip will not be visible and will not be accessible.
/// </summary>
public Visibility KeyTipVisibility
{
get;
set;
}
/// <summary>
/// Used for nudging vertical position to RibbonGroup's top/bottom axis
/// </summary>
internal RibbonGroup OwnerRibbonGroup
{
get;
set;
}
#endregion
#region Protected Methods
protected override void InvokeEventHandler(Delegate genericHandler, object genericTarget)
{
ActivatingKeyTipEventHandler handler = (ActivatingKeyTipEventHandler)genericHandler;
handler(genericTarget, this);
}
#endregion
#region Private Data
private double _horizontalOffset = 0;
private double _verticalOffset = 0;
#endregion
}
/// <summary>
/// Event handler type for KeyTipService.ActivatingKeyTipEvent
/// </summary>
public delegate void ActivatingKeyTipEventHandler(object sender,
ActivatingKeyTipEventArgs e);
}
|