ImageTouchBehavior
ImageTouchBehavior
rozszerza TouchBehavior
, zapewniając możliwość dostosowywania elementów Image
na podstawie zdarzeń dotyku, kliknięcia myszy i najechania kursorem. Implementacja ImageTouchBehavior
umożliwia dostosowanie właściwości Source
elementu Image
, do którego jest dołączony.
Notatka
Aby uzyskać dalsze opcje dostosowywania w ImageTouchBehavior
, zapoznaj się z implementacją TouchBehavior
, którą rozszerza ta Behavior
.
Ważny
Zachowania zestawu .NET MAUI Community Toolkit nie ustawiają BindingContext
dla danego zachowania, ponieważ zachowania mogą być współdzielone i stosowane do wielu kontrolek za pomocą stylów. Aby uzyskać więcej informacji, zobacz .NET MAUI Behaviors
Składnia
W poniższych przykładach pokazano, jak dodać ImageTouchBehavior
do Image
i przełączać się między DefaultImageSource
, HoveredImageSource
a PressedImageSource
, gdy użytkownicy wchodzą w interakcję z obrazem za pomocą interakcji na podstawie dotyku lub myszy.
XAML
Uwzględnianie przestrzeni nazw XAML
Aby móc używać zestawu narzędzi XAML, należy dodać następujące xmlns
do swojej strony lub widoku:
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
Zatem następujące:
<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 w celu uwzględnienia xmlns
w następujący sposób:
<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>
Korzystanie z elementu ImageTouchBehavior
<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="CommunityToolkit.Maui.Sample.Pages.Behaviors.TouchBehaviorPage"
x:Name="Page">
<Image HeightRequest="100" WidthRequest="100">
<Image.Behaviors>
<toolkit:ImageTouchBehavior
Command="{Binding Source={x:Reference Page}, Path=BindingContext.IncreaseTouchCountCommand, x:DataType=ContentPage}"
DefaultImageSource="button.png"
HoveredImageSource="button_hovered.png"
PressedImageSource="button_pressed.png" />
</Image.Behaviors>
</Image>
</ContentPage>
C#
ImageTouchBehavior
można użyć w następujący sposób w języku C#:
class TouchBehaviorPage : ContentPage
{
public TouchBehaviorPage()
{
InitializeComponent();
var image = new Image
{
HeightRequest = 100,
WidthRequest = 100
};
var imageTouchBehavior = new ImageTouchBehavior
{
Command = ((TouchBehaviorBehaviorViewModel)BindingContext).IncreaseTouchCountCommand,
DefaultImageSource = "button.png",
HoveredImageSource = "button_hovered.png",
PressedImageSource = "button_pressed.png"
};
image.Behaviors.Add(imageTouchBehavior);
Content = label;
}
}
Znaczniki języka C#
Nasz pakiet CommunityToolkit.Maui.Markup
zapewnia znacznie bardziej zwięzły sposób korzystania z tego Behavior
w języku C#.
using CommunityToolkit.Maui.Markup;
class TouchBehaviorPage : ContentPage
{
public TouchBehaviorPage()
{
Content = new Image()
.Size(100, 100)
.Behaviors(new ImageTouchBehavior
{
Command = ((TouchBehaviorBehaviorViewModel)BindingContext).IncreaseTouchCountCommand,
DefaultImageSource = "button.png",
HoveredImageSource = "button_hovered.png",
PressedImageSource = "button_pressed.png"
});
}
}
Właściwości
Własność | Typ | Opis |
---|---|---|
DefaultImageAspect | Aspect |
Pobiera lub ustawia Aspect w domyślnym trybie interakcji – który zasadniczo oznacza brak interakcji. |
DefaultImageSource | ImageSource |
Pobiera lub ustawia ImageSource w domyślnym trybie interakcji, który praktycznie nie powoduje żadnej interakcji. |
HoveredImageAspect | Aspect |
Pobiera lub ustawia Aspect , gdy kursor myszy znajduje się nad VisualElement , do którego przymocowany jest ten Behavior . |
HoveredImageSource | ImageSource |
Pobiera lub ustawia ImageSource , gdy wskaźnik myszy znajduje się nad VisualElement , do którego dołączono ten Behavior . |
PressedImageAspect | Aspect |
Pobiera lub ustawia Aspect , gdy użytkownik naciskał dotykiem lub myszą na VisualElement , do którego dołączony jest ten Behavior . |
PressedImageSource | ImageSource |
Pobiera lub ustawia ImageSource , gdy użytkownik naciska dotykiem lub myszą na VisualElement , do którego dołączony jest ten Behavior . |
UstawObrazPoZakończeniuAnimacji | bool |
Pobiera lub ustawia wartość wskazującą, czy obraz ma być ustawiony po zakończeniu animacji. |
Pozostałe dostępne właściwości znajdują się w sekcji właściwości TouchBehavior.
Przykłady
Przykład tego zachowania można zobaczyć w aplikacji przykładowej .NET MAUI Community Toolkit Sample Application.
API
Kod źródłowy ImageTouchBehavior
można znaleźć w repozytorium GitHub zestawu narzędzi .NET MAUI Community Toolkit platformy .NET.
.NET MAUI Community Toolkit