Trigger Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir özellik koşulunu ve koşul karşılandığında gerçekleştirilen bir eylemi temsil eden sınıf.
public ref class Trigger sealed : Microsoft::Maui::Controls::TriggerBase, Microsoft::Maui::Controls::Xaml::IValueProvider
[Microsoft.Maui.Controls.ContentProperty("Setters")]
[Microsoft.Maui.Controls.Xaml.AcceptEmptyServiceProvider]
public sealed class Trigger : Microsoft.Maui.Controls.TriggerBase, Microsoft.Maui.Controls.Xaml.IValueProvider
[<Microsoft.Maui.Controls.ContentProperty("Setters")>]
[<Microsoft.Maui.Controls.Xaml.AcceptEmptyServiceProvider>]
type Trigger = class
inherit TriggerBase
interface IValueProvider
Public NotInheritable Class Trigger
Inherits TriggerBase
Implements IValueProvider
- Devralma
- Öznitelikler
- Uygulamalar
Açıklamalar
Trigger sınıfı, eklendiği denetimdeki herhangi bir özelliğin değerlerini denetlemek için uygundur. Yani, varsayılan bağlama bağlamı eklendiği denetimdir. Üst öğe dışındaki denetimlere bağlanmak için geliştiriciler bunun yerine sınıfını DataTrigger kullanmalıdır.
Aşağıdaki XML örneği, kullanıcıdan gizli diziyi (yani "Metin rengi kırmızıdır") yazmasını ister. Kullanıcı gizli diziyi yazdığında, Giriş metninin rengi kırmızıya dönüşür. Kullanıcı metni gizli diziden farklı olacak şekilde düzenlerse kod varsayılan renge geri döner. Bu örnekte, bir tetikleyici ile kapsayan denetime nasıl bağlanacağınız gösterilmektedir.
<?xml version="1.0" encoding="utf-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:TriggerDemo"
x:Class="TriggerDemo.TriggerDemoPage">
<StackLayout VerticalOptions="Center">
<Label Text="Tell me the secret"
VerticalOptions="Center"
HorizontalOptions="Center" />
<Entry Placeholder="Type the secret here."
VerticalOptions="Center"
HorizontalOptions="Center">
<Entry.Triggers>
<Trigger TargetType="Entry"
Property="Text"
Value="The text color is red">
<Setter Property="TextColor" Value="Red" />
</Trigger>
</Entry.Triggers>
</Entry>
</StackLayout>
</ContentPage>
Aşağıdaki örnekte geliştiricilerin olaylara yanıt vermek ve sınıfları kullanarak bir denetim özelliğinin değerini güncelleştirmek için tetikleyiciyi nasıl kullanabileceği TriggerAction<T> gösterilmektedir. Örnek, kullanıcıdan metnin rengiyle ilgili bir soruyu yanıtlamasını ister ve kullanıcı "Metin rengi kırmızıdır" yazınca metni kırmızıya döndürmek için çağırır ColorTriggerAction
. Geliştiriciler, bu örnekte kullanıcı dizeyi düzenlemeye devam ettiğinde metni varsayılan renge geri döndürmese de, geliştiricinin bu sonucu elde etmek için ek olarak bir çıkış eylemi uygulayabileceğini ve belirtebileceğini unutmayın.
Aşağıdaki ColorTriggerAction sınıfı ad alanında TriggerDemo
tanımlandığında:
public class ColorTriggerAction : TriggerAction<Entry>
{
protected override void Invoke(Entry sender)
{
sender.TextColor = Color.Red;
}
}
geliştirici, metin alanının rengini kırmızı olarak değiştirerek gizli diziye yanıt veren sayfayı oluşturmak için aşağıdaki XAML'yi Entry kullanabilir.
<?xml version="1.0" encoding="utf-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:TriggerDemo"
x:Class="TriggerDemo.TriggerDemoPage">
<StackLayout VerticalOptions="Center">
<Label Text="What color is "The text"?"
VerticalOptions="Center"
HorizontalOptions="Center" />
<Entry Placeholder="Type answer here."
VerticalOptions="Center"
HorizontalOptions="Center"
BackgroundColor="White">
<Entry.Triggers>
<Trigger TargetType="Entry"
Property="Text"
Value="The text is red" >
<Trigger.EnterActions>
<local:ColorTriggerAction />
</Trigger.EnterActions>
</Trigger>
</Entry.Triggers>
</Entry>
</StackLayout>
</ContentPage>
Oluşturucular
Trigger(Type) |
Yeni Trigger bir örnek başlatır. |
Özellikler
BindingContext |
Bu BindableObjectöğesine ait olan ilişkili özellikler tarafından hedeflenecek özellikleri içeren bir nesnesi alır veya ayarlar. Bu, bağlanabilir bir özelliktir. (Devralındığı yer: BindableObject) |
Dispatcher |
Bu bağlanabilir nesne oluşturulduğunda kullanılabilen dağıtıcıyı alır, aksi takdirde en yakın kullanılabilir dağıtıcıyı (büyük olasılıkla pencerenin/uygulamanınkiler) bulmaya çalışır. (Devralındığı yer: BindableObject) |
EnterActions |
Tetikleyici koşulu karşılandığında çağrılacak nesnelerin listesini TriggerAction alır. sınıfı için yoksayıldı EventTrigger . (Devralındığı yer: TriggerBase) |
ExitActions |
Tetikleyici koşulu artık karşılanmadığında çağrılacak nesnelerin listesini TriggerAction alır. sınıfı için yoksayıldı EventTrigger . (Devralındığı yer: TriggerBase) |
IsSealed |
Tetikleyicinin korumalı olup olmadığını gösteren bir değer alır. (Devralındığı yer: TriggerBase) |
Property |
Ayarlayıcıların ne zaman çağrılacağını belirlemek için Value değeri karşılaştırılacak özelliğini alır veya ayarlar. |
Setters |
tarafından Property adlandırılan özellik değerine eşit Valueolduğunda uygulanacak nesnelerin listesini Setter alır. |
TargetType |
Bu TriggerBase nesnenin bağlanabileceği nesnenin türü. (Devralındığı yer: TriggerBase) |
Value |
Ayarlayıcıların uygulanmasına neden olacak, özelliği tarafından Property adlandırılan özelliğinin değerini alır veya ayarlar. |
Yöntemler
ApplyBindings() |
Tüm geçerli bağlamaları öğesine BindingContextuygular. (Devralındığı yer: BindableObject) |
ClearValue(BindableProperty) |
Daha önce bağlanabilir bir özellik için ayarlanmış olan tüm değerleri temizler. (Devralındığı yer: BindableObject) |
ClearValue(BindablePropertyKey) |
Daha önce bir bağlanabilir özellik için ayarlanmış olan ve anahtarıyla tanımlanan tüm değerleri temizler. (Devralındığı yer: BindableObject) |
CoerceValue(BindableProperty) |
Belirtilen bağlanabilir özelliğin değerini zorlar. Bu, belirtilen bağlanabilir özellik çağrılarak BindableProperty.CoerceValueDelegate yapılır. (Devralındığı yer: BindableObject) |
CoerceValue(BindablePropertyKey) |
Belirtilen bağlanabilir özelliğin değerini zorlar. Bu, belirtilen bağlanabilir özellik çağrılarak BindableProperty.CoerceValueDelegate yapılır. (Devralındığı yer: BindableObject) |
GetValue(BindableProperty) |
Verilen bağlanabilir özelliğin içerdiği değeri döndürür. (Devralındığı yer: BindableObject) |
IsSet(BindableProperty) |
Bağlanabilir bir özelliğin var olup olmadığını ve bir değer kümesi olup olmadığını belirler. (Devralındığı yer: BindableObject) |
OnBindingContextChanged() |
Olayı tetikler BindingContextChanged . (Devralındığı yer: BindableObject) |
OnPropertyChanged(String) |
Olayı tetikler PropertyChanged . (Devralındığı yer: BindableObject) |
OnPropertyChanging(String) |
Olayı tetikler PropertyChanging . (Devralındığı yer: BindableObject) |
RemoveBinding(BindableProperty) |
Daha önce ayarlanmış bir bağlamayı bağlanabilir bir özellikten kaldırır. (Devralındığı yer: BindableObject) |
SetBinding(BindableProperty, BindingBase) |
Bağlanabilir bir özelliğe bağlama atar. (Devralındığı yer: BindableObject) |
SetValue(BindableProperty, Object) |
Belirtilen bağlanabilir özelliğin değerini ayarlar. (Devralındığı yer: BindableObject) |
SetValue(BindablePropertyKey, Object) |
Belirtilen bağlanabilir özelliğin değerini ayarlar. (Devralındığı yer: BindableObject) |
UnapplyBindings() |
Geçerli bağlamdan tüm geçerli bağlamaları kaldırır. (Devralındığı yer: BindableObject) |
Ekinlikler
BindingContextChanged |
Özelliğin değeri değiştiğinde BindingContext gerçekleşir. (Devralındığı yer: BindableObject) |
PropertyChanged |
Özellik değeri değiştiğinde gerçekleşir. (Devralındığı yer: BindableObject) |
PropertyChanging |
Özellik değeri değiştiğinde gerçekleşir. (Devralındığı yer: BindableObject) |
Belirtik Arabirim Kullanımları
IDynamicResourceHandler.SetDynamicResource(BindableProperty, String) |
Bir özellik koşulunu ve koşul karşılandığında gerçekleştirilen bir eylemi temsil eden sınıf. (Devralındığı yer: BindableObject) |
IValueProvider.ProvideValue(IServiceProvider) |
Bir özellik koşulunu ve koşul karşılandığında gerçekleştirilen bir eylemi temsil eden sınıf. |
Uzantı Metotları
GetPropertyIfSet<T>(BindableObject, BindableProperty, T) |
Bir özellik koşulunu ve koşul karşılandığında gerçekleştirilen bir eylemi temsil eden sınıf. |
SetAppTheme<T>(BindableObject, BindableProperty, T, T) |
Bir özellik koşulunu ve koşul karşılandığında gerçekleştirilen bir eylemi temsil eden sınıf. |
SetAppThemeColor(BindableObject, BindableProperty, Color, Color) |
Bir özellik koşulunu ve koşul karşılandığında gerçekleştirilen bir eylemi temsil eden sınıf. |
SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String) |
Bir özelliğe bağlama oluşturur ve uygular. |
SetBinding<TSource,TProperty>(BindableObject, BindableProperty, Func<TSource,TProperty>, BindingMode, IValueConverter, Object, String, Object, Object, Object) |
Kaynak nesnedeki bir özellik ile hedef nesnedeki bir özellik arasında bir bağlama oluşturur. |