मैं एक WPF नियंत्रण के भीतर सभी नियंत्रणों को ढूंढना चाहता हूं। मैंने बहुत से नमूने देखे हैं और ऐसा लगता है कि वे सभी को पैरामीटर के रूप में पारित करने के लिए नाम की आवश्यकता होती है या बस काम नहीं करते हैं।सभी बाल नियंत्रणों को ढूंढना WPF
मैं मौजूदा कोड है, लेकिन यह ठीक से काम नहीं कर रहा है:
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;
}
}
}
}
उदाहरण के लिए यह एक TabItem
के भीतर एक DataGrid
नहीं मिलेगा।
कोई सुझाव?
तार्किक पेड़ नियंत्रण के खाके से दृश्यों शामिल नहीं है। आपका कोड परिभाषा के अनुसार * सभी * बाल नियंत्रण नहीं ढूंढ सकता है। – Dennis
थैंक्स ने काम किया! यह मेरे अपने डेटा के विपरीत 'डेटाग्रिड' हो जाता है! –
@ChrisjanLodewyks इसे सुनकर खुशी हुई। –