0

ユーザーコントロールにグリッドがあり、データコンテキストが割り当てられています

<Grid x:Name="GrdContainer" DataContext="{Binding FormAttributeMappings,Mode= TwoWay}"  DataContextChanged="GrdContainer_DataContextChanged" UseLayoutRounding="True">
<Grid.ColumnDefinitions>
    <ColumnDefinition Width="5"/>
    <ColumnDefinition Width="*"/>
    <ColumnDefinition Width="10"/>
    <ColumnDefinition Width="*"/>
    <ColumnDefinition Width="5"/>
</Grid.ColumnDefinitions>

private void GrdContainer_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
{
    ......
}

List<FormAttributeMapping> FormAttributeMappingsDatacontext として割り当てると発火しますが、Grid datacontex source( ) GrdContainer_DataContextChangedにアイテムを追加すると発火しませんFormAttributeMappings.add(FormAttributeMapping)GrdContainer_DataContextChanged

4

1 に答える 1

0

プロパティを変更しないため、アイテムを追加してもイベントListは発生しません。イベントを発生させるには、新しいアイテムを追加するたびにプロパティを割り当て/変更する必要があります。 DataContextChangedDataContextFormAttributeMappings

より良い解決策は、「FormAttributeMappings」プロパティのタイプをObservableCollectionに変更し、ハンドラをCollectionChangedイベントに作成することです。

于 2013-06-10T09:55:26.467 に答える