UIElement.ContextCanceled Evento
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Si verifica quando un movimento di input del contesto continua in un movimento di manipolazione, per notificare all'elemento che il riquadro a comparsa del contesto non deve essere aperto.
// Register
event_token ContextCanceled(TypedEventHandler<UIElement, RoutedEventArgs const&> const& handler) const;
// Revoke with event_token
void ContextCanceled(event_token const* cookie) const;
// Revoke with event_revoker
UIElement::ContextCanceled_revoker ContextCanceled(auto_revoke_t, TypedEventHandler<UIElement, RoutedEventArgs const&> const& handler) const;
public event TypedEventHandler<UIElement,RoutedEventArgs> ContextCanceled;
function onContextCanceled(eventArgs) { /* Your code */ }
uIElement.addEventListener("contextcanceled", onContextCanceled);
uIElement.removeEventListener("contextcanceled", onContextCanceled);
- or -
uIElement.oncontextcanceled = onContextCanceled;
Public Custom Event ContextCanceled As TypedEventHandler(Of UIElement, RoutedEventArgs)
<uiElement ContextCanceled="eventhandler"/>
Tipo evento
Requisiti Windows
Famiglia di dispositivi |
Windows 10 Anniversary Edition (è stato introdotto in 10.0.14393.0)
|
API contract |
Windows.Foundation.UniversalApiContract (è stato introdotto in v3.0)
|
Esempio
In questo esempio viene illustrato come visualizzare e nascondere un menu di scelta rapida quando l'utente fa clic con il pulsante destro del mouse o esegue un'azione equivalente. Il menu di scelta rapida offre le opzioni Rosso e Verde ed è posizionato su un rettangolo.
<Page
...>
<Page.Resources>
<MenuFlyout x:Key="colorMenuFlyout">
<MenuFlyoutItem Text="Red" Tag="red" Click="MenuFlyoutItem_Click"/>
<MenuFlyoutItem Text="Green" Tag="green" Click="MenuFlyoutItem_Click"/>
</MenuFlyout>
</Page.Resources>
<Grid>
<Rectangle Width="100" Height="100" Fill="Yellow"
ContextRequested="Color_ContextRequested"
ContextCanceled="Color_ContextCanceled">
</Rectangle>
</Grid>
</Page>
public sealed partial class MainPage : Page
{
MenuFlyout colorMenuFlyout;
public MainPage()
{
this.InitializeComponent();
colorMenuFlyout = Resources["colorMenuFlyout"] as MenuFlyout;
}
private void Color_ContextRequested(UIElement sender, ContextRequestedEventArgs args)
{
Point point = new Point(0,0);
if (args.TryGetPosition(sender, out point))
{
colorMenuFlyout.ShowAt(sender, point);
}
else
{
colorMenuFlyout.ShowAt((FrameworkElement)sender);
}
}
private void Color_ContextCanceled(UIElement sender, RoutedEventArgs args)
{
colorMenuFlyout.Hide();
}
private void MenuFlyoutItem_Click(object sender, RoutedEventArgs e)
{
var item = sender as MenuFlyoutItem;
var target = colorMenuFlyout.Target;
if (string.Equals(item.Tag.ToString(), "red"))
{
((Rectangle)target).Fill = new SolidColorBrush(Windows.UI.Colors.Red);
}
else if (string.Equals(item.Tag.ToString(), "green"))
{
((Rectangle)target).Fill = new SolidColorBrush(Windows.UI.Colors.Green);
}
}
}
Commenti
Ti consigliamo di impostare la proprietà ContextFlyout per aggiungere un menu di scelta rapida a un elemento. Quando ContextFlyout
è impostato, il menu di scelta rapida viene visualizzato e nascosto automaticamente. È consigliabile gestire ContextRequested
e ContextCanceled
se non si imposta ContextFlyout
.
Se gestisci l'evento ContextRequested per visualizzare il riquadro a comparsa del contesto, devi anche gestire questo evento per nascondere il riquadro a comparsa se la richiesta viene annullata.
Questo evento viene in genere gestito per gli elementi che possono essere modificati tramite trascinamento della selezione. Questo evento viene generato quando è stato generato un evento ContextRequested , ma l'elemento non ha ricevuto un evento PointerReleased prima dell'inizio di una manipolazione. Ciò indica che l'utente ha intenzione di richiamare una manipolazione anziché un riquadro a comparsa del contesto, quindi il riquadro a comparsa del contesto non deve essere aperto.
ContextCanceled
è un evento indirizzato. Per altre info sul concetto di evento indirizzato, vedi Panoramica degli eventi e degli eventi indirizzati.