In Silverlight 5 è stato aggiunto il supporto nativo al doppio click attraverso la proprietà ClickCount di MouseButtonEventArgs, parametro principalmente degli eventi MouseLeftButtonDown e MouseRightButtonDown.
In un contesto Model-View-ViewModel è possibile utilizzare comunque questa proprietà grazie alla possibilità offerta dal behavior EventToCommand del toolkit MVVM Light di Laurent Bugnion.
Questo behavior permette di invocare un Command a seguito di un qualunque evento di un oggetto, inoltre grazie alla proprietà PassEventArgsToCommand è possibile passare l'argomento del gestore dell'evento al Command, utile proprio allo scopo di passare il numero di click consecutivi.
... xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:cmd="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras.SL4" ... <TextBlock Text="click"> <i:Interaction.Triggers> <i:EventTrigger EventName="MouseLeftButtonDown"> <cmd:EventToCommand Command="{Binding ClickCommand, Mode=OneWay}" PassEventArgsToCommand="True"> </cmd:EventToCommand> </i:EventTrigger> </i:Interaction.Triggers> </TextBlock>
Il Command ClickCommand può essere definito nel modo seguente:
private RelayCommand<MouseButtonEventArgs> clickCommand;
public RelayCommand<MouseButtonEventArgs> ClickCommand
{
get
{
return this.clickCommand ?? (this.clickCommand = new RelayCommand<MouseButtonEventArgs>(
(args) =>
{
var clickCount = args.ClickCount.ToString();
},
(args) =>
{
return true;
}));
}
}L'MVVM Light toolkit è scaricabile su Codeplex all'indirizzo http://mvvmlight.codeplex.com/.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare Containers in .NET Aspire
Importare repository da Bitbucket a GitHub Enterprise Cloud
Creare un agente A2Acon Azure Logic Apps
Raggruppare risorse in .NET Aspire
Utilizzo delle stepped value functions nel CSS
Effettuare la ricerca di testo nascosto in una pagina web con Javascript
Le cron expression di un workflow di GitHub
Gestire pubblicazione Kubernetes tramite .NET Aspire
Interagire con Azure DevOps tramite MCP Server
Supporto nativo a JSON in SQL Server 2025
Introduzione a GitHub Copilot CLI
Filtrare i dati in ASP.NET Core usando OpenTelemetry su Azure Monitor




