2016-04-01 41 views
1

Bu soru saçma gibi görünse bile xaml ve windows app dev çok üzgünüm.VisualStateManager.GoToState, sahne arkasında kim arıyor?

Bir metin kutusu oluşturdum ve tasarımcıda ona sağ tıklayıp edit template => bir kopyayı düzenleyip özel sözlüğüme koydum.

Bu metin kutusunun denetim şablonunda, engelli, odaklanmış vb. Gibi görsel durumları gördüm. Onları değiştirip mobil uygulamayı çalıştırdım ve değişikliklerin metin kutucuğu odaklandığında kenarlık rengini değiştirmek gibi çalıştığını gözlemledim.

Ama bu birilerini çalışması için sırayla

Öyle nasıl kontrol şablonunda herhangi bir görsel geçişleri görmüyorum çünkü böylece bu kimin aradığını metin kutusu odaklanmıştır

VisualStateManager.GoToState("Focused")

aranacak vardır Bu oluyor?

cevap

1

XAML, derlenmiş bir dildir ve eğer daha yakından bakarsanız, kaputun altında ne olur, xaml'ın arkasındaki sınıfın xaml kodunuzla aynı ad alanına sahip olması gerekir.

Bu, programınızı derleyen, bu XAML öğesinin tümünü C# koduna dönüştürmeden önce, MSIL'e geçip, sonra da bir ikili program olarak yürütülmesi anlamına gelir.

Oluşan durum değişikliklerinin çoğu olaya dayalıdır ve diğer tüm kullanıcı denetimleri gibi TextBox da bir ileti iletir ve iletileri dinler. TextBox'ı içeren sayfa muhtemelen çocuklardan birinin odaklandığı her zaman bir durum değişikliği ileten ve iyi bir kontrol olarak TextBox bu olayı dinler ve ona tepki verir.

+0

Ama özel bir şablon oluşturabilir ve bunu yapacağım nasıl bu mesajları iletmek istiyorum ?? –

+0

Diğer tüm XAML gibi özel şablon derlenmiştir. Özel bir şablon zaten var olan kontrollerin bir karışımından başka bir şey değildir ve bunların hepsi zaten sizin için çalışan mesajlaşma tesisatına sahiptir –

+0

Düğüm tıklandığında ve düğmenin arkaplan rengi değiştiğinde ve bunu uygulamak istiyorum. Bu xaml mesajlaşma tekniğini kullanarak nasıl yapılacağını söyledi? –