Я не уверен, что не так с DataGrid, который я написал.Содержимое отображается правильно, но когда я пытаюсь добавить обработчик события OnSelectionChanged, происходит что-то странное. Пожалуйста, помогите мне!
Во-первых, никаких проблем ниже:
<DataGrid ItemsSource="{Binding XPath=services/service}" AutoGenerateColumns="False" Padding="2">
<DataGrid.Columns>
<DataGridTextColumn Header=" Service Name " Binding="{Binding XPath=name}" Width="300"/>
<DataGridTextColumn Header=" Status " Binding="{Binding XPath=status}" />
</DataGrid.Columns>
</DataGrid>
Здесь services / serviceвзяты из моего внешнего файла XML.Я использовал ресурс XmlDataProvider в документе.В этом XML некоторые теги 'services' имеют много дочерних элементов 'service';некоторые теги 'services' вообще не имеют дочерних элементов (интересно, является ли это причиной проблемы).
Таким образом, в результате получается, что некоторые элементы данных содержат все строки и столбцы.некоторые из этих данных показывают только заголовки.
Теперь я добавляю следующее:
<DataGrid ItemsSource="{Binding XPath=services/service}" AutoGenerateColumns="False" Padding="2"
SelectionChanged="DataGrid_SelectionChanged">
И добавляю пустой код в код:
private void DataGrid_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
{
}
ТеперьЯ выполняю, и выдается исключение
System.NullReferenceException не обработано. Message = Ссылка на объект не установлена для экземпляра объекта.Source = ForeFront Support Monitor 2 StackTrace: в FSM.MainWindow.System.Windows.Markup.IStyleConnector.Connect (Int32 connectionId, целевой объект) в h: \ Personal \ Visual Studio 2010 \ Проекты \ ForeFront Support Monitor 2 \ ForeFront Support Monitor 2\ MainWindow.xaml: строка 42 в System.Windows.FrameworkTemplate.LoadTemplateXaml (XamlReader templateReader, XamlObjectWriter currentWriter) в System.Windows.FrameworkTemplate.LoadTemplateXaml (XamlObjectWriter.styleConnector, список 1 affectedChildren, UncommonField
1 templatedNonFeChildrenField) в System.Windows.FrameworkTemplate.LoadContent (контейнер DependencyObject, List`1 disabledChildren) ...