0
在WPF網格中得到DataGridComboBoxColumn
,但有一些綁定問題。我可以成功地綁定到一個ObservableCollection<String>
屬性,但是當我試圖綁定到一個EF實體表的ObservableCollection<T>
一個專欄中,我得到一個例外,儘管綁定列是一個varchar:WPF DataGridComboBoxColumn綁定:'DeferRefresh'在AddNew或EditItem事務中不允許?
'DeferRefresh' is not allowed during an AddNew or EditItem transaction'
這裏是我的XAML:
<DataGrid Margin="5" AutoGenerateColumns="False" ItemsSource="{Binding MembershipsCollection}">
<DataGrid.Columns>
<DataGridComboBoxColumn Header="Region" Width="SizeToHeader" DisplayMemberPath="{Binding RegionShortCodeCollection}">
<DataGridComboBoxColumn.ElementStyle>
<Style>
<Setter Property="ComboBox.ItemsSource" Value="{Binding DataContext.RegionShortCodeCollection, RelativeSource={RelativeSource AncestorType={x:Type vm:AccountsViewModel}}}" />
</Style>
</DataGridComboBoxColumn.ElementStyle>
<DataGridComboBoxColumn.EditingElementStyle>
<Style>
<Setter Property="ComboBox.ItemsSource" Value="{Binding DataContext.RegionShortCodeCollection, RelativeSource={RelativeSource AncestorType={x:Type v:AccountsView}}}" />
</Style>
</DataGridComboBoxColumn.EditingElementStyle>
</DataGridComboBoxColumn>
<DataGridTextColumn Header="ProductCode" Binding="{Binding Path=ProductCode}" Width="SizeToHeader"/>
</DataGrid.Columns>
</DataGrid>
&我的視圖模型ObservableCollection<T>
。這是通過從構造調用的方法填充:
private ObservableCollection<String> _RegionShortCodeCollection;
public ObservableCollection<String> RegionShortCodeCollection
{
get { return _RegionShortCodeCollection; }
set
{
_RegionShortCodeCollection = value;
OnPropertyChanged("RegionShortCodeCollection");
}
}
任何想法,爲什麼這是一個集出現而不是其他? 謝謝