, поэтому у меня проблема с файлом XAML, который я использую; Я пытаюсь использовать DataGrid для добавления табличного представления свойств для элемента, который выбирает пользователь. В настоящее время я пытаюсь сделать это, у меня есть список, содержащий соответствующие пары, которые заполняются по щелчку пользователя, а затем для этого списка устанавливается ItemSource. Я попытался изменить детали этой реализации (связывание ItemsSource без ссылки на саму сетку данных и т. Д. c, но рано или поздно все они, похоже, сталкиваются с одной и той же ошибкой)
Странная вещь (для меня) заключается в том, что после нескольких щелчков мышью по различным элементам (и нажатие кнопки «Продолжить», когда появляется исключение) сетка заполняется данными, хотя часто кажется, что она «зависает» (показывая те же данные для нескольких элементов перед последующим обновлением пары элементов позже, исключений не выдается, но поведение определенно противоречиво)
.xaml.cs
// ParameterPair is a custom class that contains 2 string fields (name, value)
public List<ParameterPair> AllParameters { get; private set; } = new List<ParameterPair>();
// called (only) when a new element is click
// ... code to populate AllParameters here
// definitely populates properly, checked through debugging
this.dGrid.ItemsSource = AllParameters;
.xaml
<Page ...>
<Grid HorizontalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TabControl>
<TabItem Header="Add Constraint">
<Grid Name="loginBlock" Grid.Row="0">
<GroupBox Header="Properties"
HorizontalAlignment="Stretch"
VerticalAlignment="Top"
Margin="10, 10, 10, 0">
<StackPanel>
<controls:DataGrid x:Name="dGrid"
Height="300" Margin="12"
AutoGenerateColumns="true"
ItemsSource="{Binding}"
/>
</StackPanel>
</GroupBox>
</Grid>
</TabItem>
<TabItem Header="Manage Constraints" />
</TabControl>
</Grid>
</Page>