C# 类型';CellValuePresenter';在未引用的程序集中定义。必须添加对程序集的引用

C# 类型';CellValuePresenter';在未引用的程序集中定义。必须添加对程序集的引用,c#,.net,winforms,mvvm,C#,.net,Winforms,Mvvm,错误CS0012在未引用的程序集中定义了类型“CellValuePresenter”。您必须添加对程序集“InfragisticsWPF4.DataPresenter.v13.2,版本=13.2.20132.1000,区域性=中性,PublicKeyToken=7dd5c3163f2cd0cb”的引用 public void navigateView(TextEditorValidationRun validationRun) { var viewModel=DataContext作为TextE

错误CS0012在未引用的程序集中定义了类型“CellValuePresenter”。您必须添加对程序集“InfragisticsWPF4.DataPresenter.v13.2,版本=13.2.20132.1000,区域性=中性,PublicKeyToken=7dd5c3163f2cd0cb”的引用

public void navigateView(TextEditorValidationRun validationRun)
{
var viewModel=DataContext作为TextEditorViewModel;
if(viewModel==null)
{
返回;
}
if(viewModel.SelectedLanguage.LanguageId!=validationRun.LanguageId)
{
viewModel.SelectedLanguage=viewModel.Languages.First(x=>x.LanguageId==validationRun.LanguageId);
}
stringsDataGrid.ActiveDataItem=viewModel.TranslateableStrings.FirstOrDefault(x=>x.TextId.Equals(validationRun.TextId));
if(stringsDataGrid.ActiveDataItem!=null)
{
string fieldName=stringsDataGrid.FieldLayouts[0]。字段[3]。名称;
DataRecord dr=stringsDataGrid.Records.DataPresenter.GetRecordFromDataItem(stringsDataGrid.ActiveDataItem,false);
stringsDataGrid.ActiveCell=dr.Cells.Where(t=>t.Field.Name==fieldName.FirstOrDefault();
if(stringsDataGrid.ActiveCell!=null)
{
对于(int i=0;i
您的问题是什么?该错误准确地解释了在没有Infragistics组件的.dll文件的情况下运行项目时必须执行的操作。
public void NavigateToView(TextEditorValidationRun validationRun)
{
    var viewModel = DataContext as TextEditorViewModel;
    if (viewModel == null)
    {
        return;
    }


    if(viewModel.SelectedLanguage.LanguageId !=validationRun.LanguageId)
    {
        viewModel.SelectedLanguage = viewModel.Languages.First(x => x.LanguageId == validationRun.LanguageId); 
    }

    stringsDataGrid.ActiveDataItem = viewModel.TranslatableStrings.FirstOrDefault(x => x.TextId.Equals(validationRun.TextId));
    if(stringsDataGrid.ActiveDataItem!=null)
    {
        string fieldName = stringsDataGrid.FieldLayouts[0].Fields[3].Name;
        DataRecord dr = stringsDataGrid.Records.DataPresenter.GetRecordFromDataItem(stringsDataGrid.ActiveDataItem, false);
        stringsDataGrid.ActiveCell = dr.Cells.Where(t => t.Field.Name == fieldName).FirstOrDefault();

        if (stringsDataGrid.ActiveCell != null)
        {
            for (int i = 0; i < dr.Cells.Count; i++)
            {
                CellValuePresenter cellPresenter = CellValuePresenter.FromCell(dr.Cells[i]);
                if (cellPresenter != null)
                {
                    ErrorNavigationAnimation.HighlightErrorField(cellPresenter);
                }
            }
        }
    }
}