EventToCommandBehavior
Jest EventToCommandBehavior
to element behavior
, który umożliwia użytkownikowi wywoływanie Command
elementu za pośrednictwem elementu Event
. Jest przeznaczony do kojarzenia poleceń z zdarzeniami udostępnianymi przez kontrolki, które nie zostały zaprojektowane do obsługi poleceń. Umożliwia mapowanie dowolnego zdarzenia na kontrolce na polecenie.
Ważne
Zachowania zestawu narzędzi .NET MAUI Community Toolkit nie ustawiają BindingContext
zachowania, ponieważ zachowania mogą być współużytkowane i stosowane do wielu kontrolek za pomocą stylów. Aby uzyskać więcej informacji, zobacz Zachowania maUI platformy .NET
Składnia
W poniższych przykładach pokazano, jak dodać element EventToCommandBehavior
do kontrolki Button
, a następnie obsłużyć kliknięte zdarzenie.
XAML
Dołączanie przestrzeni nazw XAML
Aby można było używać zestawu narzędzi w języku XAML, należy dodać następujące xmlns
elementy do strony lub widoku:
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
W związku z tym następujące elementy:
<ContentPage
x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
</ContentPage>
Zostanie zmodyfikowana tak, aby zawierała następujące xmlns
elementy:
<ContentPage
x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit">
</ContentPage>
Używanie elementu EventToCommandBehavior
Można EventToCommandBehavior
go użyć w następujący sposób w języku XAML:
<ContentPage
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
x:Class="MyLittleApp.MainPage"
x:Name="Page">
<Button>
<Button.Behaviors>
<toolkit:EventToCommandBehavior
EventName="Clicked"
Command="{Binding Source={x:Reference Page}, Path=BindingContext.MyCustomCommand}" />
</Button.Behaviors>
</Button>
</ContentPage>
C#
Można EventToCommandBehavior
go użyć w następujący sposób w języku C#:
class EventToCommandBehaviorPage : ContentPage
{
public EventToCommandBehaviorPage()
{
var button = new Button();
var behavior = new EventToCommandBehavior
{
EventName = nameof(Button.Clicked),
Command = new MyCustomCommand()
};
button.Behaviors.Add(behavior);
Content = entry;
}
}
Znaczniki języka C#
Nasz CommunityToolkit.Maui.Markup
pakiet zapewnia znacznie bardziej zwięzły sposób korzystania z niego Behavior
w języku C#.
using CommunityToolkit.Maui.Markup;
class EventToCommandBehaviorPage : ContentPage
{
public EventToCommandBehaviorPage()
{
Content = new Button()
.Behaviors(new EventToCommandBehavior
{
EventName = nameof(Button.Clicked),
Command = new MyCustomCommand()
});
}
}
Uzyskiwanie dostępu do zdarzenia EventArgs ze zdarzenia
Istnieje możliwość EventArgs
przekazania określonego zdarzenia do obiektu Command
. Istnieją dwa sposoby osiągnięcia tego celu:
1. Użyj implementacji ogólnej
Przy użyciu implementacji EventToCommandBehavior<T>
EventArgs
właściwość zostanie przekazana do Command
właściwości , jeśli właściwości CommandParameter
i Converter
nie są ustawione. Aby odwołać się do typu ogólnego w języku XAML, musimy użyć x:TypeArguments
dyrektywy.
W poniższym przykładzie pokazano, jak za pomocą implementacji ogólnej przekazać WebNavigatedEventArgs
element do polecenia .
<WebView Source="https://github.com">
<WebView.Behaviors>
<toolkit:EventToCommandBehavior
x:TypeArguments="WebNavigatedEventArgs"
EventName="Navigated"
Command="{Binding WebViewNavigatedCommand}" />
</WebView.Behaviors>
</WebView>
2. Użyj właściwości Konwerter
W przypadku korzystania z tej behavior
opcji z wyborem lub naciśnięciem zdarzeń uwidocznionych przez ListView
dodatkowy konwerter jest wymagany. Ten konwerter konwertuje argumenty zdarzeń na parametr polecenia, który następnie jest przekazywany na Command
. Są one również dostępne w zestawie narzędzi .NET MAUI Community Toolkit:
Właściwości
Właściwości | Type | Opis |
---|---|---|
EventName | string | Nazwa zdarzenia, które powinno być skojarzone z elementem Command . |
Polecenie | Icommand | Element Command , który należy wykonać. |
Commandparameter | obiekt | Opcjonalny parametr do przekazania do elementu Command . |
EventArgsConverter | Ivalueconverter | Opcjonalnie IValueConverter , który może służyć do konwertowania EventArgs wartości na wartości przekazane do elementu Command . |
Przykłady
Przykład tego zachowania można znaleźć w przykładzie przykładowym aplikacji zestawu narzędzi .NET MAUI Community Toolkit.
interfejs API
Kod źródłowy można EventToCommandBehavior
znaleźć w repozytorium GitHub zestawu narzędzi .NET MAUI Community Toolkit.
.NET MAUI Community Toolkit