C# 将组合框编辑绑定到XAML中的列表
我正在尝试将一个组合框绑定到一个项目列表,但我不确定如何进行绑定。我需要按照Mvvm模式在XAML中执行此操作,并且我可以使用DevExpress。我试着说:C# 将组合框编辑绑定到XAML中的列表,c#,wpf,binding,mvvm,devexpress,C#,Wpf,Binding,Mvvm,Devexpress,我正在尝试将一个组合框绑定到一个项目列表,但我不确定如何进行绑定。我需要按照Mvvm模式在XAML中执行此操作,并且我可以使用DevExpress。我试着说: <dxg:GridControl ItemsSource="{Binding Path=TaskView}" > <dxg:GridControl.Columns > <dxg:GridColumn Header="Project" FieldNam
<dxg:GridControl ItemsSource="{Binding Path=TaskView}" >
<dxg:GridControl.Columns >
<dxg:GridColumn Header="Project" FieldName="Project"
DisplayMemberBinding="{Binding Path=ProjectCode, Mode=TwoWay}" AllowEditing="True">
<dxg:GridColumn.EditSettings>
<dxe:ComboBoxSettings DisplayMember="Project" ValueMember="ProductName" ItemTemplate="{Binding Path=Projects}" />
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn Header="Project Description" DisplayMemberBinding="{Binding Path=ProjectName}" AllowEditing="False"/>
<dxg:GridColumn Header="Description" DisplayMemberBinding="{Binding Path=ProjectDescription}" AllowEditing="False"/>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView MultiSelectMode="Row" SelectedRowsSource="{Binding Path=SelectedTasks}"
ShowAutoFilterRow="False" ShowTotalSummary="True"
AllowEditing="True" />
</dxg:GridControl.View>
</dxg:GridControl>
这段代码对我来说似乎很正确,但我不能使用ItemTemplate=“{Binding Path=Projects}”,因为ComboBoxSettings不是依赖项属性。这段代码很有效,我想在gridcontrol中做一些类似的事情:
<dxe:ComboBoxEdit SelectedItem="{Binding Path=CurrentEmployeeName}" ItemsSource="Binding Path=EmployeeView}">
<dxe:ComboBoxEdit.StyleSettings>
<dxe:ComboBoxStyleSettings />
</dxe:ComboBoxEdit.StyleSettings>
</dxe:ComboBoxEdit>
有人能给我一个线索吗?非常感谢。您应该使用,而不是ComboBoxSettings:
<dxg:GridColumn Header="...">
<dxg:GridColumn.EditSettings>
<dxe:ComboBoxEditSettings ItemsSource="{Binding ...}" ... />
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
由于我没有任何关于DevExpress控件的文档,因此无法给出完整的答案。但是,我认为ComboBoxSettings.ItemTemplate
不是项目绑定;这可能是每个项目的显示方式。您尝试使用DataGrid了吗?这里有一个将组合框与DataGrid一起使用的示例:。也许同样的技术也适用于DX网格控件。我用ItemTemplate输入了一个错误:我也尝试了ItemSOurce,但仍然是错误的。我将检查tomorow是否可以使用这个示例,正如写入mvvm light的一样,我使用的是devexpress,但可能类似。