Как получить поведение ComboBox по умолчанию в столбце DataGridTemplate? - PullRequest
0 голосов
/ 13 апреля 2019

В моем RadDataGrid я должен использовать DataGridTemplateColumn, потому что Itemssource моего комбинированного списка - это коллекция, которая является свойством объекта, представленного строкой сетки. У меня все работает, за исключением того факта, что поле со списком всегда доступно для редактирования. Другими словами, поле и стрелка раскрывающегося списка всегда видны. На снимке экрана ниже первый столбец представляет собой DataGridComboBoxColumn. Вторым является DataGridTemplateColumn. Ни один столбец не был нажат. (Обратите внимание, что заголовки столбцов не в кадре.)

enter image description here

В обычном столбце со списком в RadDataGrid поле со списком не отображается, если вы дважды не щелкнете по столбцу. Пока вы не нажмете, столбец просто отображает выбранный элемент. В моих столбцах поле и стрелка раскрывающегося списка всегда видны до и после нажатия на столбец или после него.

Как я могу изменить это на типичное поведение? Я хочу, чтобы пользователь щелкнул в столбце, прежде чем поле и стрелка раскрывающегося списка станут видимыми. До этого в столбце просто отображается выбранный элемент. Вот мой код:

<tg:DataGridTemplateColumn  SizeMode="Auto">
    <tg:DataGridTemplateColumn.CellContentTemplate>
        <DataTemplate>
            <ComboBox Width="220"
                      ItemsSource="{Binding Path=ItemCategory.Items, Mode=OneWay}"
                      SelectedItem="{Binding Products, Mode=TwoWay}"
                      SelectedValue="{Binding Products.Id, Mode=OneWay}"
                      SelectedValuePath="Id"
                      DisplayMemberPath="ItemName">
            </ComboBox>
    </DataTemplate>
    </tg:DataGridTemplateColumn.CellContentTemplate>
    <tg:DataGridTemplateColumn.Header>
        <TextBlock.Text = "Item Category"/>
    </tg:DataGridTemplateColumn.Header>
</tg:DataGridTemplateColumn>
...