我想要一个函数将所选项应用于数据网格中的所有组合框。目前我所拥有的:
组合框绑定到Service类的ObservableCollection:
public ObservableCollection<Services> ServiceList
{
get
{
return serviceList;
}
set
{
this.serviceList = value;
RaisePropertyChanged("ServiceList");
}
}
这是我在XAML中应用命令执行所述函数的方法:
<StackPanel Name="stackPanel2"
Grid.Row="1"
Grid.Column="1"
Width="335"
Height="26"
Margin="3,8,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Orientation="Horizontal">
<ComboBox Name="comboBox1"
Width="120"
Height="23"
DisplayMemberPath="DESCRIPTION"
ItemsSource="{Binding ServiceList}"
SelectedItem="{Binding SelectedServiceAll,Mode=TwoWay}"
/>
<Button Content="Apply to all"
Command="{Binding CommandApplyAll}"
CommandParameter="AllService"
>
</Button>
</StackPanel>
这是数据网格行组合框绑定:
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox Name="comboBoxService"
Width="120"
Height="23"
DisplayMemberPath="DESCRIPTION"
ItemsSource="{Binding Path=ServiceList}"
SelectedValue="{Binding Path=SERVICE,
UpdateSourceTrigger=PropertyChanged}"
/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
我是否应该使用在标题部分中选择的那个更新数据网格中的组合框的数据源(ObservableCollection ServiceList),但不知道如何实现它。
注意:此应用程序应用MVVM
非常感谢
答案 0 :(得分:0)
如果我没有误解你的问题,你可以像在ApplyCommand Action中设置SERVICE(绑定到SelectedValue)那样做
private void OnApplyCommand()
{
foreach (var item in ServiceGridDataList)
{
item.SERVICE = SelectedServiceAll.SERVICE;
}
SelectedGridService = selectedHeaderService;
//Other apply command Action;
}
此处ServiceGridDataList是绑定到Grid的ItemsSource的Collection。