привязка данных, IDataErrorInfo и именование сложных свойств - PullRequest
0 голосов
/ 02 июля 2011

Допустим, у меня есть MyClass.cs, в котором у меня есть свойство с именем Name, затем у меня есть viewModel, который наследует IDataErrorInfo, где я создал несколько экземпляров MyClass в этом viewModel и добавил их все в коллекцию ObservableCollection , это collection будет ItemSource для DataGrid, и один из его DataGridTextColumn будет привязан к свойству Name, это действительно хорошо, как в следующем XAML

<DataGridTextColumn Binding="{Binding  Name}" Header="Name" IsReadOnly="True" />

все хорошо, теперь мне нужно указать имя столбца для IDataErrorInfo, как показано ниже

string IDataErrorInfo.this[string columnName]
    {
        get 
        { 
           string error = String.Empty;
           switch (columnName)
           {
               case "WhatToPutHere":
                   error = validateName();
                   return error;
               default:
                   throw new ApplicationException("Wrong Property name being validated");
           }
        }
    }

проблема в том, что у меня нет этого свойства «Имя» в моей viewModel, оно есть в MyClass.cs, поэтому я не знаю, для чего нужно указывать имя столбца IDataErrorInfo, я пробовал Name и MyClass .Name оба не получилось, какие-либо предложения? Заранее спасибо

Ответы [ 3 ]

0 голосов
/ 02 июля 2011

Если вы не уверены, что туда поместить, почему бы не поставить тестовую строку кода, такую ​​как msgbox (columnname). Затем запустите ваше приложение (или его часть) и посмотрите, что всплывает. Надеюсь, это поможет.

0 голосов
/ 03 июля 2011

Я понял, мне пришлось реализовать IDataErorInfo там на MyClass.cs, а не на viewModel

0 голосов
/ 02 июля 2011

Наименование имущества. В данном случае это Name

...