1

我有一个数据网格,我希望用户能够编辑其中一列中的值。但是,根据另一列中的值,我需要让他们在文本框中输入值(其他列值 = 0),或者从我将从字典中填充的组合框(其他列值 > 00)中选择一个值。

我该怎么做这样的事情?

4

1 回答 1

1

您可以为 DataGrid 定义 TemplateColumn 并定义其 CellTemplate 如下:

 <DataGrid>
        <DataGrid.Columns>
            <DataGridTemplateColumn>
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <ContentControl x:Name="ContentPlaceholder">
                            <ContentControl.Style>
                                <Style TargetType="{x:Type ContentControl}">
                                    <Setter Property="ContentTemplate">
                                        <Setter.Value>
                                            <DataTemplate>
                                                <ComboBox />
                                            </DataTemplate>
                                        </Setter.Value>
                                    </Setter>
                                    <Style.Triggers>
                                        <DataTrigger Binding="{Binding COLUMNTWOPROPERTY}" Value="0">
                                            <Setter Property="ContentTemplate">
                                                <Setter.Value>
                                                    <DataTemplate>
                                                        <TextBox Text="{Binding PROPERTYFORTEXTBOX}"/>
                                                    </DataTemplate>
                                                </Setter.Value>
                                            </Setter>
                                        </DataTrigger>
                                    </Style.Triggers>
                                </Style>
                            </ContentControl.Style>
                        </ContentControl>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
        </DataGrid.Columns>
    </DataGrid>

这里的 COLUMNWOPROPERTY 是决定单元格是否应该显示文本框或组合框的值。

谢谢

于 2013-09-03T18:12:18.577 回答