SORU
10 HAZİRAN 2009, ÇARŞAMBA


Türüne göre WPF Penceresinde tüm kontrolleri bul

Bir şekilde, kendi Türüne göre Pencere üzerinde tüm kontrolleri bulmak için arıyorum

örneğin:TextBoxes tüm kontrolleri belirli arayüzü vb uygulama bulmak bulmak.

CEVAP
10 HAZİRAN 2009, ÇARŞAMBA


Bu hile yapmak gerekir

public static IEnumerable<T> FindVisualChildren<T>(DependencyObject depObj) where T : DependencyObject
{
    if (depObj != null)
    {
        for (int i = 0; i < VisualTreeHelper.GetChildrenCount(depObj); i  )
        {
            DependencyObject child = VisualTreeHelper.GetChild(depObj, i);
            if (child != null && child is T)
            {
                yield return (T)child;
            }

            foreach (T childOfChild in FindVisualChildren<T>(child))
            {
                yield return childOfChild;
            }
        }
    }
}

o zaman böyle denetimler üzerinde numaralandırma

foreach (TextBlock tb in FindVisualChildren<TextBlock>(window))
{
    // do something with tb here
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Fraser Raft

    Fraser Raft

    9 Mart 2010
  • InfoPuppet

    InfoPuppet

    15 Kasım 2011
  • optionalinfo

    optionalinfo

    29 EKİM 2005