나는 그리드를 설정하고 컬렉션에 바인딩했습니다. 내 표를 통해 컬렉션의 항목을 편집 할 수 있으며 변경 내용이 컬렉션에 전파됩니다. 그리고 GUI는 ItemSource가 설정 될 때 컬렉션의 모든 것을 보여줍니다. 그러나 (ItemSource가 설정된 후) 컬렉션의 항목 중 일부가 프로그래밍 방식으로 변경되고 이러한 변경 내용이 표/GUI에 반영되지 않습니다. 새로 고침을하기 위해 내가해야 할 일이 있습니까? 참고로, 편집하려는 필드 (MoveToResource, ResourceKey 및 Resource Type)에 대해 TwoWay로 모드를 설정했습니다. 아래는 내 눈금입니다.컬렉션에 목록/그리드 바인딩에 문제가 있습니다.
<ListView Name="lstXAMLStrings" Margin="5" Grid.Row="1">
<ListView.View>
<GridView>
<GridView.Columns>
<GridViewColumn Header="Extract?">
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox Content="" IsChecked="{Binding Path=MoveToResource, Mode=TwoWay}" ></CheckBox>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Text">
<GridViewColumn.CellTemplate>
<DataTemplate>
<local:RichTextBlock RichText="{Binding Path=FormattedMatchedLines}" TextWrapping="Wrap" Width="650"></local:RichTextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Key Name">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding Path=ResourceKey, Mode=TwoWay}" Width="150"></TextBox>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Resource Type">
<GridViewColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding Source={StaticResource odp}}" SelectedItem="{Binding Path=Resource, Mode=TwoWay}"></ComboBox>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView.Columns>
</GridView>
</ListView.View>
</ListView>
내가 누락 된 부분입니다. 감사. – bsh152s
이제는 INotifyPropertyChanged를 구현 했으므로 프로그래밍 방식으로 변경하면 항목이 업데이트됩니다. 그러나 이제는 GUI를 통해 변경 한 사항이 콜렉션 항목으로 전달되지 않습니다. 둘 다 할 수있는 방법이 있습니까? – bsh152s
Brandon : 모든 것이 제대로 구현 되었다면 두 가지 방식으로 작동해야합니다. 컬렉션 구현을 보여줄 수 있습니까? –