C# WPF-从DataTemplateSelector中获取一个DataGridCell的值

C# WPF-从DataTemplateSelector中获取一个DataGridCell的值,c#,wpf,datagrid,datatemplate,datatemplateselector,C#,Wpf,Datagrid,Datatemplate,Datatemplateselector,我将DataTemplateSelector与WPFToolkit DataGrid一起使用。我想根据同一行上另一个单元格的值为一个单元格选择编辑模板 DataTemplateSelector的SelectTemplate方法有两个参数:一个是网格行显示的数据项,另一个是网格单元格 我想知道的是如何从SelectTemplate方法中获取另一个单元格的值。但是,我不确定通过访问单元格的属性来获取此信息的正确方法 public class RangeValuesEditTemplateSe

我将DataTemplateSelector与WPFToolkit DataGrid一起使用。我想根据同一行上另一个单元格的值为一个单元格选择编辑模板

DataTemplateSelector的SelectTemplate方法有两个参数:一个是网格行显示的数据项,另一个是网格单元格

我想知道的是如何从SelectTemplate方法中获取另一个单元格的值。但是,我不确定通过访问单元格的属性来获取此信息的正确方法

    public class RangeValuesEditTemplateSelector : DataTemplateSelector
{
    public DataTemplate NumberTemplate{get; set;}
    public DataTemplate TextTemplate{get; set;}

    public override DataTemplate SelectTemplate(object item, DependencyObject container)
    {
        //TODO: need to find the correct way to populate the if condition below
        DataGridCell theCell = container as DataGridCell;


        if (theCell.something.somethingElse)
        {
            return NumberTemplate;
        }else{
            return TextTemplate;
        }

    }


}
有人能帮忙吗

非常感谢


我想您需要一个ItemViewModel。创建这些对象时(每行一个);itemViewModel应该具有在创建时或通过setter设置的附加属性(根据您的自定义计算)。因此,如果每个箭头都有一个名为“MoreImportantThanExtone”的属性,您可以在ItemVM ctor中设置它,它将为下一行接收一些数据。

然后在TemplateSelector覆盖中,您只需访问ItemVM的“MoreImportantThanNextOne”属性值即可选择正确的模板。

您已经找到解决方案了吗?