【问题标题】:How to create different type of cells in same column in DataGrid - WPF C#如何在 DataGrid 的同一列中创建不同类型的单元格 - WPF C#
【发布时间】:2014-01-16 12:54:33
【问题描述】:

我想在 WPF c# 中创建一个 dataGrind,在同一列中使用不同类型的单元格来获取用户输入。

我的 DataGrid 应该如下所示:

那么我将如何将名称和年龄单元格格式化为文本框单元格。性别和状态单元格到组合框单元格?

【问题讨论】:

    标签: c# wpf datagrid


    【解决方案1】:

    如果您将来需要更多字段,并希望重用某些功能,请查看WPF Property Grid

    如果您的行在此布局中是固定的,并且您不希望它们经常更改,您可以考虑使用标准网格的替代方法:

    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition />
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>
        <TextBlock>Name</TextBlock>
        <TextBlock Grid.Row="1">Age</TextBlock>
        <TextBlock Grid.Row="2">Gender</TextBlock>
        <TextBlock Grid.Row="3">State</TextBlock>
        <TextBox Grid.Column="1"></TextBox>
        <TextBox Grid.Row="1" Grid.Column="1"></TextBox>
        <ComboBox Grid.Row="2" Grid.Column="1"></ComboBox>
        <ComboBox Grid.Row="3" Grid.Column="1"></ComboBox>
    </Grid>
    

    【讨论】:

      【解决方案2】:

      如果您使用 MVVM 模式,那么(我认为是这样)您应该为单元创建一个 ViewModel 并将其绑定为 ItemSource。在您的 ViewModel 中,您可以设置所需的元素。应该可以在 TextBoxes 和 ComboBoxes 之间进行切换。

      你可能在这里找到答案:

      WPF DataGrid with different UserControl in each Cell;

      WPF DataGrid different edit controls within a single column

      http://tech.pro/tutorial/807/wpf-tutorial-how-to-use-a-datatemplateselector

      附:这还不够回答,但我没有足够的积分来评论这个问题。

      【讨论】:

        猜你喜欢
        • 2011-05-12
        • 2016-02-07
        • 2011-11-21
        • 1970-01-01
        • 2011-09-02
        • 2013-02-05
        • 1970-01-01
        • 1970-01-01
        • 2016-04-28
        相关资源
        最近更新 更多