所以我使用的XAML文件有问题;我正在尝试使用DataGrid为用户选择的元素添加属性的表格视图。我目前正在尝试执行的操作是,我有一个列表,其中包含在用户单击时填充的适当对,然后将ItemsSource设置为该列表。我尝试更改此实现的详细信息(绑定ItemsSource而不引用datagrid本身,等等,但迟早它们似乎都遇到了相同的错误)
(对我而言,很奇怪的是,在不同元素上单击几下(并在弹出异常时单击“继续”)后,网格确实填充了数据,尽管它似乎经常“冻结”(显示相同的数据)。对于最后重新刷新几个元素之前的几个元素,不会引发任何异常,但是行为绝对不一致)
。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>
</Grid>
</TabItem>
<TabItem Header="Manage Constraints" />
</TabControl>
</Grid>
</Page>
错误似乎不是来自您的数据绑定,而是来自某个地方的xaml标记。您的GroupBox似乎没有右括号。这是自定义DataGrid吗?由于与其他控件不同,它被称为“ controls:DataGrid”。其标记可能有问题。