SORU
3 Mayıs 2009, Pazar


WPF ve başlangıç odak

WPF uygulaması başladığında, hiçbir şey odak var gibi görünüyor.

Bu gerçekten çok garip. Kullandım çerçeve ne beklersiniz sadece her diğer: koyar ilk kontrol ilk odak sekme. Ama ben teyit işte bu WPF, sadece benim app -- eğer yeni bir Pencere, ve sadece bir TextBox ve çalıştır uygulaması, TextBox yok focus kadar ı tıklatın veya SEKME tuşuna basın. İğrenç.

Benim gerçek uygulama sadece bir TextBox daha karmaşıktır. UserControls içinde UserControls birkaç kat var. Bu UserControls="" ve/KeyUp işleyicileri Kapatıyorsa, ve odak benim pencere açar. en kısa sürede sahip olmak istiyorum Gerçek Odaklanabilir vardır Hala bir WPF acemi sayılırım ama çok şans bunu yapmak için nasıl sergiyi yaşıyorum.

Benim app başlayın ve Tab tuşuna basın, sonra odak odaklanabilir benim kontrolüm gider ve istediğim şekilde çalışmaya başlar. Ama benim kullanıcı penceresini kullanarak başlamadan önce Sekmesini vurmak istemiyorum.

Odak ile temas ettim.Ama ben, bunu ayarlamak için kontrol (üst düzey Pencere? değil emin FocusedElement odaklanabilir denetimi içeren üst? bu odaklanabilir kendini kontrol?) ya da ayarlamak için ne.

Ben derinden iç içe geçmiş kontrol almak için ilk odak penceresi açılır açılmaz olması için ne yapmam gerekiyor? Ya da daha iyisi, sekme sırasına ilk odaklanabilir denetim odağı için?

CEVAP
4 Mayıs 2009, PAZARTESİ


Reflektör aracılığıyla Odaklanabilir özelliği nerede kullanıldığını görmek için kazmak için parlak bir fikrim yoktu, ve bu çözüm yolumu buldum. Sadece camdan kurucusuna aşağıdaki kodu eklemek gerekir:

Loaded  = (sender, e) =>
    MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));

Bu herhangi bir pencere ve Sadece Çalışma içine düşmüş olması gerektiğine dair genel bir çözüm otomatik olarak sekme sırasına ilk denetimi seçin.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ADDVOiCE

    ADDVOiCE

    28 Mayıs 2009
  • Glyn Dewis

    Glyn Dewis

    25 AĞUSTOS 2007
  • SavageLuxxxGaming - Daily NBA 2K15 & NBA Live 15 Enjoy And Subscribe!

    SavageLuxxxG

    11 Ocak 2013