如何在XCeed DataGridControl(WPF)中添加ComboBox列

我试图在XCeeds DataGridControl添加一个combobox列。 管理以制作CellEditor ,它为绑定字段设置正确的值,但CellContent模板存在问题。

Xaml

                          

代码

 public partial class MainWindow : Window { ViewMode viewMode; public MainWindow() { InitializeComponent(); viewMode = new ViewMode(); this.DataContext = viewMode; } private void Window_MouseDoubleClick(object sender, MouseButtonEventArgs e) { DataTable source = viewMode.Address; } } public class ViewMode { public DataTable Address { get; set; } public DataTable Country { get; set; } public ViewMode() { Address = new DataTable(); Address.Columns.Add("HouseNumberAdd", typeof(string)); Address.Columns.Add("City", typeof(string)); Address.Columns.Add("CountryID", typeof(int)); Address.Rows.Add("Ivlivensko 10-KV 1234", "Krakov", 1); Address.Rows.Add("Astrakhanski 10-KV 1234", "Kharkiv", 2); Address.Rows.Add("Tverskii 10-KV 1234", "Moskva", 3); Address.Rows.Add("Klement 10-KV 1234", "Warsav", 1); Country = new DataTable(); Country.Columns.Add("Name", typeof(string)); Country.Columns.Add("CountryID", typeof(int)); Country.Rows.Add("Poland", 1); Country.Rows.Add("Ukrain", 2); Country.Rows.Add("Russland", 3); } } 

编辑

我已经用ContentTemplate替换了CellEditor,但是当我尝试编辑Grid中的数据时,源表保持不变。 我怎么解决这个问题?

                       

尝试删除IsSynchronizedWithCurrentItem="True"

在我的测试中,这样可以防止文本值在编辑模式下出现在combobox中。 我删除它后,文本按预期显示。

如果要在不处于编辑模式时更改单元格的外观,可以将自定义CellContentTemplate指定给列。

此外,如果希望单元格以文本forms显示ComboBox的DisplayValue,请将以下内容添加到列中。

      

其中“YourConverter”将SelectedValuePath值转换为ComboBox的DisplayMemberPath值。