У меня небольшие проблемы с этой проблемой.Я сделал DataGrid и у него есть столбцы DataTemplate.здесь XAML для этого
<data:DataGrid x:Name="PortsGrid" Height="124" Margin="23,0,17,2" VerticalAlignment="Bottom" ItemsSource="{Binding PortsGridData, Mode=TwoWay}" AutoGenerateColumns="False" SelectionMode="Single">
<data:DataGrid.Columns>
<data:DataGridTextColumn Header="Specific port/Range" CanUserResize="False" Width="130" Binding="{Binding Port}"/>
<data:DataGridTemplateColumn Header="Timeout" CanUserResize="False" Width="130" >
<data:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox x:Name="TimeoutComboBox" IsEditable="True" SelectedIndex="{Binding TimeoutIndex}">
<ComboBoxItem Content="First Value" Tag="-1"/>
<ComboBoxItem Content="Second Value" Tag="0"/>
</ComboBox>
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
</data:DataGridTemplateColumn>
<data:DataGridTemplateColumn Header="Priority" CanUserResize="False" Width="120">
<data:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox x:Name="PriorityComboBox" SelectedIndex="{Binding PriorityIndex}">
<ComboBoxItem Content="Low" Tag="0"/>
<ComboBoxItem Content="Prio1" Tag="1"/>
<ComboBoxItem Content="Prio2" Tag="2"/>
<ComboBoxItem Content="Prio3" Tag="3"/>
<ComboBoxItem Content="Prio4" Tag="4"/>
</ComboBox>
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
</data:DataGridTemplateColumn>
<data:DataGridTemplateColumn Header="Compression" CanUserResize="False" Width="105">
<data:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox x:Name="CompressionComboBox" SelectedIndex="{Binding CompressionIndex}">
<ComboBoxItem Content="On" Tag="1"/>
<ComboBoxItem Content="Off" Tag="0"/>
</ComboBox>
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
</data:DataGridTemplateColumn>
<data:DataGridTemplateColumn Header="Protocol" CanUserResize="False" Width="100">
<data:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox x:Name="ProtocolComboBox" SelectedIndex="{Binding ProtocolIndex}">
<ComboBoxItem Content="Proto1"/>
<ComboBoxItem Content="Proto2"/>
</ComboBox>
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
</data:DataGridTemplateColumn>
</data:DataGrid.Columns>
</data:DataGrid>
эта сетка данных связана с ObservableCollection
. Если я добавлю строку в эту сетку данных, добавив элемент в комбинированные списки ObservableCollection, добавляются их значения по умолчанию, т.е.значение выбрано.Теперь, если я изменю выбор полей со списком, а затем удаляю эту строку и снова добавляю эту строку, комбинированные списки будут добавлены с их предыдущими состояниями, а не с состоянием по умолчанию. Почему это происходит?. Возможно, DataGrid хранитCombobox заявляет для лучшей производительности, но как очистить эти значения?