Silverlight 4.0 DataGrid绑定SelectedItem中的Silverlight组合框问题
我在datagrid中有一个组合框。我使用Silverlight 4.0和MVVM。 我的代码工作正常,除非当我从datagrid中删除一条记录并添加另一条记录时,添加行中combobox的SelectedValue绑定不起作用Silverlight 4.0 DataGrid绑定SelectedItem中的Silverlight组合框问题,silverlight-4.0,mvvm,datagrid,combobox,Silverlight 4.0,Mvvm,Datagrid,Combobox,我在datagrid中有一个组合框。我使用Silverlight 4.0和MVVM。 我的代码工作正常,除非当我从datagrid中删除一条记录并添加另一条记录时,添加行中combobox的SelectedValue绑定不起作用 <sdk:DataGrid AutoGenerateColumns="False" ItemsSource="{Binding Items, Mode=TwoWay}" Name="dataGrid2" > <sdk:DataGrid
<sdk:DataGrid AutoGenerateColumns="False" ItemsSource="{Binding Items, Mode=TwoWay}" Name="dataGrid2" >
<sdk:DataGrid.Columns>
<sdk:DataGridTemplateColumn Width="50*">
<sdk:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding Path=Products, Mode=OneWay}"
SelectedValue="{Binding Path=ProductId,Mode=TwoWay}"
DisplayMemberPath="ProductTitle"
SelectedValuePath="ProductId"/>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellEditingTemplate>
</sdk:DataGridTemplateColumn>
</sdk:DataGrid.Columns>
</sdk:DataGrid>
谢谢在某个网站上找到这段代码,它在类似的情况下帮助了我:
public class ComboBoxEx : ComboBox
{
protected override void OnItemsChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
var bindingExpression = GetBindingExpression(SelectedValueProperty);
base.OnItemsChanged(e);
if (bindingExpression != null)
{
var binding = bindingExpression.ParentBinding;
SetBinding(SelectedValueProperty, bindingExpression.ParentBinding);
}
}
}