【问题标题】:Can i make UpDown Column at DataGrid?我可以在 DataGrid 上制作 UpDown 列吗?
【发布时间】:2015-04-14 10:43:26
【问题描述】:

我可以在 DataGrid 中创建 UpDown 列吗?

我有简单的 DataGrid:

 <DataGrid Grid.Row="0" Grid.Column="0">
                            <DataGrid.Columns>
                                <DataGridTextColumn Header="Name">  </DataGridTextColumn>

                            </DataGrid.Columns>
  </DataGrid>

我想制作 UpDown 专栏。我可以这样做吗?

谢谢!

附:我的意思是类似 numericUpDown 计数器。 :上:[1],下:[0]。

【问题讨论】:

  • 什么是上下列?
  • 我的意思是 numericUpDown 计数器。 :上:[1],下:[0]。
  • 是的,猜到了,看看发布的答案。使用 wpfToolkit,使用起来相当简单。

标签: c# wpf wpfdatagrid numericupdown


【解决方案1】:

如果您指的是 NumericUpDown 列

您可以有一个模板列并将 NumericUpDown 控件添加到模板中

查看Here 来创建自定义数字上下控件,或者直接使用 WPFToolkit 提供的控件!!

为 Toolkit Here查找 Codeples

【讨论】:

    【解决方案2】:

    我认为你可以做类似的事情

    <DataGrid>
       <DataGrid.Columns>
          <DataGridTemplateColumn>
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <StackPanel Orientation="Horizontal">
                                    <TextBlock Text="{Binding Path=AttrName}" Height="25" Width="150" HorizontalAlignment="Left" VerticalAlignment="Top" />
                                    <TextBlock Text="{Binding Path=AttrDisplayLabel}" Height="25" Width="Auto" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="10,0,0,0" />
                                </StackPanel>
                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                        <DataGridTemplateColumn.CellEditingTemplate>
                            <DataTemplate>
                                <ComboBox Height="25" 
                                          ItemsSource="{Binding Source={StaticResource cvsAttributes}}"
                                          SelectedValuePath="AttributeID"
                                          IsSynchronizedWithCurrentItem="False"
                                          SelectionChanged="Selector_OnSelectionChanged"
                                          SelectedValue="{Binding Path=AttributeId, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
    
                                    <ComboBox.ItemTemplate>
                                        <DataTemplate>
                                            <StackPanel Orientation="Horizontal">
                                                <TextBlock Text="{Binding Name}"/>
                                            </StackPanel>
                                        </DataTemplate>
                                    </ComboBox.ItemTemplate>
    
                                    <ComboBox.ItemsPanel>
                                        <ItemsPanelTemplate>
                                            <VirtualizingStackPanel />
                                        </ItemsPanelTemplate>
                                    </ComboBox.ItemsPanel>
    
                                </ComboBox>
                            </DataTemplate>
                        </DataGridTemplateColumn.CellEditingTemplate>
                    </DataGridTemplateColumn>
     ....
    

    只需用您的 updown/spinner 控件替换组合。 celltemplate 是您的显示... celledittemplate 是您的编辑控件...(updown...等...)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-31
      • 2012-09-06
      • 1970-01-01
      • 1970-01-01
      • 2020-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多