ImageTouchBehavior
ImageTouchBehavior
rozšiřuje TouchBehavior
tím, že poskytuje možnost přizpůsobit Image
prvky na základě událostí dotykového ovládání, kliknutí myší a najetí myší. Implementace ImageTouchBehavior
umožňuje přizpůsobit vlastnost Source
prvku Image
, ke kterému je připojen.
Poznámka
Další možnosti přizpůsobení v ImageTouchBehavior
hledejte v implementaci TouchBehavior
, kterou rozšiřuje tato Behavior
.
Důležitý
Chování v sadě nástrojů .NET MAUI Community Toolkit nenastavuje vlastnost BindingContext
, protože chování mohou být sdílena a použita u více ovládacích prvků prostřednictvím stylů. Další informace najdete v tématu chování rozhraní .NET MAUI
Syntax
Následující příklady ukazují, jak přidat ImageTouchBehavior
do Image
a přepínat mezi DefaultImageSource
, HoveredImageSource
a PressedImageSource
, když uživatelé interagují s obrázkem pomocí dotykové interakce nebo interakce na základě myši.
XAML
Zahrnutí oboru názvů XAML
Pokud chcete použít sadu nástrojů v XAML, musíte do stránky nebo zobrazení přidat následující xmlns
:
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
Proto platí následující:
<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>
Bylo by změněno tak, aby zahrnovalo xmlns
následujícím způsobem:
<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>
Použití 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
lze použít v jazyce 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;
}
}
Značkování C#
Náš balíček CommunityToolkit.Maui.Markup
poskytuje mnohem stručnější způsob použití tohoto Behavior
v jazyce 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"
});
}
}
Vlastnosti
Vlastnost | Typ | Popis |
---|---|---|
VýchozíPoměrObrázku | Aspect |
Získá nebo nastaví Aspect ve výchozím režimu interakce – což je v podstatě žádná interakce. |
VýchozíZdrojObrazu | ImageSource |
Získá nebo nastaví ImageSource ve výchozím režimu interakce – což je v podstatě žádná interakce. |
HoveredImageAspect | Aspect |
Získá nebo nastaví Aspect , když myš přejíždí přes VisualElement , ke kterému je tento Behavior připojen. |
HoveredImageSource | ImageSource |
Získá nebo nastaví ImageSource , když myš najede na VisualElement , ke kterému je tento Behavior připojen. |
PressedImageAspect | Aspect |
Získá nebo nastaví Aspect , když uživatel stiskne prstem nebo myší na VisualElement , ke kterému je tento Behavior připojen. |
PressedImageSource | ImageSource |
Získá nebo nastaví ImageSource , když uživatel prstem nebo myší stiskne na VisualElement , ke kterému je tento Behavior připojen. |
NastavitObrazNaKonciAnimace | bool |
Získá nebo nastaví hodnotu určující, zda má být obrázek nastaven při ukončení animace. |
Zbývající dostupné vlastnosti najdete v části Vlastnosti TouchBehavior.
Příklady
Příklad tohoto chování v akci najdete v ukázkové aplikaci .NET MAUI Community Toolkit.
Rozhraní API
Zdrojový kód pro ImageTouchBehavior
najdete v úložišti .NET MAUI Community Toolkit na GitHubu.
.NET MAUI Community Toolkit