EventToCommandBehavior
EventToCommandBehavior
adalah behavior
yang memungkinkan pengguna untuk memanggil Command
melalui Event
. Ini dirancang untuk mengaitkan Perintah ke peristiwa yang diekspos oleh kontrol yang tidak dirancang untuk mendukung Perintah. Ini memungkinkan Anda untuk memetakan peristiwa sewenang-wenang pada kontrol ke Perintah.
Penting
Perilaku Toolkit Komunitas .NET MAUI tidak mengatur BindingContext
perilaku, karena perilaku dapat dibagikan dan diterapkan ke beberapa kontrol melalui gaya. Untuk informasi selengkapnya, lihat Perilaku MAUI .NET
Sintaks
Contoh berikut menunjukkan cara menambahkan EventToCommandBehavior
ke Button
kontrol lalu menangani peristiwa yang diklik.
XAML
Menyertakan namespace XAML
Untuk menggunakan toolkit di XAML, hal berikut xmlns
perlu ditambahkan ke halaman atau tampilan Anda:
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
Oleh karena itu hal-hal berikut:
<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>
Akan dimodifikasi untuk menyertakan xmlns
sebagai berikut:
<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>
Menggunakan EventToCommandBehavior
EventToCommandBehavior
dapat digunakan sebagai berikut dalam 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#
EventToCommandBehavior
dapat digunakan sebagai berikut di 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;
}
}
C# Markup
Paket kami CommunityToolkit.Maui.Markup
menyediakan cara yang jauh lebih ringkas untuk menggunakan ini Behavior
di C#.
using CommunityToolkit.Maui.Markup;
class EventToCommandBehaviorPage : ContentPage
{
public EventToCommandBehaviorPage()
{
Content = new Button()
.Behaviors(new EventToCommandBehavior
{
EventName = nameof(Button.Clicked),
Command = new MyCustomCommand()
});
}
}
Mengakses EventArgs dari peristiwa
Dimungkinkan EventArgs
untuk memiliki peristiwa tertentu yang diteruskan ke Command
. Ada dua cara untuk mencapai hal ini:
1. Gunakan implementasi generik
Dengan menggunakan EventToCommandBehavior<T>
implementasi, EventArgs
akan diteruskan ke Command
properti jika CommandParameter
properti dan Converter
tidak ditetapkan. Untuk merujuk ke jenis generik di XAML, kita perlu menggunakan arahan x:TypeArguments
.
Contoh berikut menunjukkan cara menggunakan implementasi generik untuk meneruskan WebNavigatedEventArgs
ke perintah .
<WebView Source="https://github.com">
<WebView.Behaviors>
<toolkit:EventToCommandBehavior
x:TypeArguments="WebNavigatedEventArgs"
EventName="Navigated"
Command="{Binding WebViewNavigatedCommand}" />
</WebView.Behaviors>
</WebView>
2. Gunakan properti Converter
Saat menggunakan ini behavior
dengan pilihan atau ketuk peristiwa yang diekspos oleh ListView
pengonversi tambahan diperlukan. Pengonversi ini mengonversi argumen peristiwa menjadi parameter perintah yang kemudian diteruskan ke Command
. Mereka juga tersedia di Toolkit Komunitas MAUI .NET:
Properti
Properti | Tipe | Deskripsi |
---|---|---|
EventName | string | Nama peristiwa yang harus dikaitkan dengan Command . |
Perintah | ICommand | Yang Command harus dijalankan. |
CommandParameter | object | Parameter opsional untuk diteruskan ke Command . |
EventArgsConverter | IValueConverter | Opsional IValueConverter yang dapat digunakan untuk mengonversi EventArgs nilai ke nilai yang diteruskan ke Command dalam . |
Contoh
Anda dapat menemukan contoh perilaku ini dalam tindakan di Aplikasi Sampel Toolkit Komunitas .NET MAUI.
API
Anda dapat menemukan kode sumber untuk EventToCommandBehavior
lebih pada repositori GitHub .NET MAUI Community Toolkit.
.NET MAUI Community Toolkit
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk