ImageTouchBehavior
Le ImageTouchBehavior
étend le TouchBehavior
en offrant la possibilité de personnaliser des éléments Image
en fonction des événements tactiles, des clics de souris et des survols. L’implémentation ImageTouchBehavior
permet de personnaliser la propriété Source
de l’élément Image
auquel il est attaché.
Remarque
Pour obtenir d’autres options de personnalisation dans le ImageTouchBehavior
, reportez-vous à l’implémentation TouchBehavior
que cette Behavior
étend.
Important
Les comportements de .NET MAUI Community Toolkit ne définissent pas la BindingContext
d’un comportement, car les comportements peuvent être partagés et appliqués à plusieurs contrôles par le biais de styles. Pour obtenir plus d’informations, voir Comportements MAUI .NET
Syntaxe
Les exemples suivants montrent comment ajouter le ImageTouchBehavior
à un Image
et basculer entre le DefaultImageSource
, HoveredImageSource
et le PressedImageSource
lorsque les utilisateurs interagissent avec l’image en fonction des interactions tactiles ou basées sur la souris.
XAML
Y compris l’espace de noms XAML
Pour utiliser le toolkit en XAML, le xmlns
suivant doit être ajouté à votre page ou vue :
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
Il en résulte ce qui suit :
<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>
Serait modifié pour inclure la xmlns
comme suit :
<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>
Utilisation du 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#
Les ImageTouchBehavior
peuvent être utilisées comme suit en 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;
}
}
Balisage C#
Notre package CommunityToolkit.Maui.Markup
offre un moyen beaucoup plus concis d’utiliser cette Behavior
en 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"
});
}
}
Propriétés
Propriété | Type | Description |
---|---|---|
DefaultImageAspect | Aspect |
Obtient ou définit l'Aspect en mode d’interaction par défaut, qui est essentiellement sans aucune interaction. |
DefaultImageSource | ImageSource |
Obtient ou définit l'ImageSource en mode d’interaction par défaut, ce qui revient essentiellement à aucune interaction. |
HoveredImageAspect | Aspect |
Obtient ou définit le Aspect lorsque la souris survole le VisualElement auquel ce Behavior est attaché. |
HoveredImageSource | ImageSource |
Obtient ou définit l'ImageSource lorsque la souris survole le VisualElement auquel est attaché ce Behavior . |
PressedImageAspect | Aspect |
Obtient ou définit le Aspect lorsque l’utilisateur a appuyé de manière tactile ou avec la souris sur le VisualElement auquel ce Behavior est attaché. |
PressedImageSource | ImageSource |
Obtient ou définit le ImageSource lorsque l’utilisateur a appuyé de manière tactile ou avec la souris sur le VisualElement auquel ce Behavior est attaché. |
ShouldSetImageOnAnimationEnd | bool |
Obtient ou définit une valeur indiquant si l’image doit être définie lorsque l’animation se termine. |
Pour le reste des propriétés disponibles, veuillez vous référer à la section Propriétés de TouchBehavior.
Exemples
Vous trouverez un exemple de ce comportement en action dans l’exemple d’application .NET MAUI Community Toolkit.
API
Vous trouverez le code source de ImageTouchBehavior
sur le dépôt GitHub du .NET MAUI Community Toolkit .
.NET MAUI Community Toolkit