我创建了一个Datagrid,如图所示 - > http://img682.imageshack.us/img682/5109/datagrid.png
用户应该输入数据。在其中一列中,我添加了Combobox.Now,Datagrid将不允许我在单元格中输入数据。 IsReadOnly =“False”也没有用,它给出了一些“EditMode异常”。 所以,我做的是,我创建了文本块,并在其中创建了组合框和文本框,如下所示:
<toolKit:DataGrid
Width="725"
Height="100"
HeadersVisibility="Column"
Focusable="True"
RowDetailsVisibilityMode="Visible"
Background="#FF98A4B2" x:Name="mf" >
<toolKit:DataGrid.Columns>
<toolKit:DataGridTemplateColumn Header="Ssss" Width="55">
<toolKit:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock>
<TextBox x:Name="mf_step" Width="50"/>
</TextBlock>
</DataTemplate>
</toolKit:DataGridTemplateColumn.CellTemplate>
</toolKit:DataGridTemplateColumn>
<toolKit:DataGridTemplateColumn Header="Aaaaa" Width="100">
<toolKit:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock>
<ComboBox x:Name="cmb_act_mf" ToolTip="Choose Actor" Width="95" IsEditable="False">
<ComboBoxItem Content=""></ComboBoxItem>
<ComboBoxItem Content="Uuuu" IsSelected="True"></ComboBoxItem>
</ComboBox>
</TextBlock>
</DataTemplate>
</toolKit:DataGridTemplateColumn.CellTemplate>
</toolKit:DataGridTemplateColumn>
使用此用户可以在单元格中添加文本,但我自己,对我的这种方法不满意:(。使用此,我想我将无法访问输入的内容,用于其他用途,如保存在某种数据结构或DB ............. 当我使用此代码{cmb_act_mf.Items.Add(txt_box.Text)时,我也无法使用文本框(按钮点击,如previous question中所示)向组合框添加内容。 } ...它也不起作用。 ..................如何使Datagrid可编辑?在其中一个列的组合框中,可以在按钮单击时通过文本框添加列表/内容。我可以轻松访问,单元格内容(用户输入的地方)存储在DS / DB中...... Datagrid是正确的选择吗?请帮忙。
提前非常感谢。感谢任何帮助,代码片段将是一个祝福。谢谢。
答案 0 :(得分:0)
MS WPF数据网格主要关注数据绑定。尝试创建要绑定的对象,而不是使用DataGridTemplateColumn,使用DataGridTextColumn和DataGridComboBoxColumn,编辑应该如您所愿。但是,要获取值,您需要访问绑定对象上的属性。