Могу ли я сделать UpDown столбец в DataGrid?

Могу ли я сделать UpDown столбец в DataGrid?

У меня есть простая DataGrid:

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

                            </DataGrid.Columns>
  </DataGrid>

И я хочу сделать колонку UpDown. Могу ли я сделать это?

Спасибо!

PS Я имею в виду что-то вроде счетчика numericUpDown.: вверх: [1], вниз: [0].

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>
 ....

Просто замените комбо своим управлением обновлением / вращением. Celltemplate - это ваш дисплей... celledittemplate - это ваш элемент управления редактированием...(обновление... и т. Д.)

Если вы имеете в виду столбец NumericUpDown

Вы можете иметь столбец шаблона и добавить элемент управления NumericUpDown к шаблону

Посмотрите здесь для создания пользовательского числового элемента управления обновлением или просто используйте тот, который поставляется с WPFToolkit!!

Найти кодексы для инструментария здесь

Другие вопросы по тегам