1

我创建了一个Datagrid,如图--> http://img682.imageshack.us/img682/5109/datagrid.png

用户应该在哪里输入数据。在其中一列中,我添加了 Combobox。现在,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); } ...它也不起作用..................如何使Datagrid可编辑?与组合框合二为一它的列,这样它的列表/内容可以通过按钮单击的文本框添加。我可以轻松地访问单元格内容(用户输入的位置)以存储在 DS/DB 中.....Datagrid 是正确的选择吗?请帮忙。

提前非常感谢。感谢任何帮助,代码片段将是一种祝福。谢谢。

4

1 回答 1

0

MS WPF 数据网格主要集中在数据绑定上。尝试创建一个要绑定的对象,而不是使用 DataGridTemplateColumn,而是使用 DataGridTextColumn 和 DataGridComboBoxColumn,编辑应该如您所愿。但是,要获取值,您需要访问绑定对象的属性。

于 2010-02-24T21:32:11.040 回答