C# 如何以编程方式访问Datagrid中的组合框
我在XML中添加了一个C# 如何以编程方式访问Datagrid中的组合框,c#,wpf,datagrid,C#,Wpf,Datagrid,我在XML中添加了一个DataGrid,如下所示。现在,如何以编程方式访问名为Combo1的ComboBox?我无法使用名称Combo1正常访问它。我希望能够检索它的值,或者更改itemssource等 您应该能够在这里找到您需要的东西。然而,我要说的是,这样做不是最好的做法 private childItem FindVisualChild(DependencyObject obj) where-childItem:DependencyObject { for(int i=0;i
DataGrid
,如下所示。现在,如何以编程方式访问名为Combo1
的ComboBox
?我无法使用名称Combo1
正常访问它。我希望能够检索它的值,或者更改itemssource等
您应该能够在这里找到您需要的东西。然而,我要说的是,这样做不是最好的做法
private childItem FindVisualChild(DependencyObject obj)
where-childItem:DependencyObject
{
for(int i=0;i
您可以尝试使用以下内容:
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;
}
}
}
}
公共静态IEnumerable FindVisualChildren(DependencyObject depObj),其中T:DependencyObject
{
if(depObj!=null)
{
for(int i=0;i
但我建议您阅读更多关于MVVM模式的内容
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;
}
}
}
}