Если DataContext DataGrid является объектом DataView (свойство DefaultView для DataTable), вы также можете сделать это:
private void Button_Click(object sender, RoutedEventArgs e) {
DataRowView row = (DataRowView)((Button)e.Source).DataContext;
}
Если вы используете соответствующий класс или библиотеку, они сделают экранирование за вас. Многие проблемы XML вызваны объединением строк.
Их всего пять:
" "
' '
< <
> >
& &
Экранирующие символы зависят от того, где используется специальный символ.
Примеры можно проверить на сайте W3C Markup Validation Service .
Безопасный способ - экранировать все пять символов в тексте, однако три символа "
, '
и >
не нужно экранировать в тексте:
<?xml version="1.0"?>
<valid>"'></valid>
Безопасный способ - экранировать все пять символов в атрибутах, однако > Символ
не нужно экранировать в атрибутах:
<?xml version="1.0"?>
<valid attribute=">"/>
Символ '
не нужно экранировать в атрибутах, если кавычки равны "
Возможно, это поможет:
Список ссылок на символьные сущности XML и HTML :
В документах SGML, HTML и XML логические конструкции, известные как символ данные и значения атрибутов состоят из последовательности символов, в которых каждый характер может проявляться напрямую (представляя себя), или может быть представлен серией персонажей называется ссылкой на символ, из которых есть два типа: числовой ссылка на символ и персонаж ссылка на объект. В этой статье перечислены сущность символа ссылается на действительны в документах HTML и XML.
В этой статье перечислены следующие пять предопределенных XML-сущностей:
quot "
amp &
apos '
lt <
gt >