Xaml Datagrid выпадающий выбор ячейки очень требователен - PullRequest
1 голос
/ 19 марта 2012

У меня есть в таблице данных следующий столбец. Как вы можете видеть, это столбец шаблона, который при отображении метки и в режиме редактирования становится выпадающим списком. Проблема, с которой я столкнулся, состоит в том, что этот конкретный выпадающий список содержит только цифры (0,1,2,3), когда пользователь хочет перевести эту строку в режим редактирования, чтобы отредактировать конкретную ячейку, которую он должен щелкнуть точно по номеру, иначе ничего не произойдет. , Я хотел бы, чтобы вся ячейка при нажатии включала режим редактирования.

Как мне этого добиться?

<data:DataGridTemplateColumn Header="Retries" >
                    <data:DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <!--MouseLeftButtonUp="Label_MouseLeftButtonUp"-->
                            <sdk:Label Content="{Binding RetriesWrapper, Mode=OneWay,ValidatesOnDataErrors=True,NotifyOnValidationError=True}" />
                        </DataTemplate>
                    </data:DataGridTemplateColumn.CellTemplate>
                    <data:DataGridTemplateColumn.CellEditingTemplate>
                        <DataTemplate>
                            <ComboBox ItemsSource="{Binding Source={StaticResource RetriesListItems}, Path=RetriesListItems}" 
                                      SelectedValue="{Binding RetriesWrapper, Mode=TwoWay, ValidatesOnDataErrors=True,NotifyOnValidationError=True}">
                            </ComboBox>
                        </DataTemplate>
                    </data:DataGridTemplateColumn.CellEditingTemplate>
                </data:DataGridTemplateColumn>

1 Ответ

1 голос
/ 19 марта 2012

попробуйте это:

<sdk:Label Content="{Binding RetriesWrapper, Mode=OneWay,ValidatesOnDataErrors=True,NotifyOnValidationError=True},Background=Transparent" />

и это (может быть необязательным):

<ComboBox ItemsSource="{Binding Source={StaticResource RetriesListItems}, Path=RetriesListItems}" 
          SelectedValue="{Binding RetriesWrapper, Mode=TwoWay, ValidatesOnDataErrors=True,NotifyOnValidationError=True}"
          HorizontalAlignment=Stretch
          Background=Transparent>

Редактировать: Фон = Прозрачный - распространенная ошибка, может быть и здесь ... см. 1) там: Какая самая страшная ошибка в WPF?

...