#wpf #devexpress #celltemplate
Вопрос:
у меня есть dxg:GridControl, в котором у меня есть dxg:GridColumn, и в каждой строке есть шаблон отображения и редактирования, как показано ниже
<dxg:GridControl>
<dxg:GridControl.Columns>
<dxg:GridColumn Width="101"
AllowBestFit="True"
AllowColumnFiltering="True"
AllowSorting="False"
FieldName="Tolerance"
Header="Tolerance Type"
ReadOnly="{Binding IsReadOnly}">
<dxg:GridColumn.EditTemplate>
<ControlTemplate>
<dxe:ComboBoxEdit
x:Name="PART_Editor"
Width="100"
ItemsSource="{Binding Path=DataContext.ToleranceTypeCollection,
RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type UserControl}}}"
SelectedItem="{Binding RowData.Row.Tolerance}"
DisplayMember="ToleranceType"
FilterCondition="Contains"
ImmediatePopup="True"
IncrementalFiltering="True"
IsTextEditable="False"
ValueMember="ToleranceTypeId"
ShowSizeGrip="True"
TextWrapping="WrapWithOverflow"
Style="{DynamicResource DXEComboBoxEditStyle}" />
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding Path=DataContext.ToleranceTypeCollection.Count, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Value="0">
<Setter TargetName="PART_Editor" Property="IsEnabled" Value="False" />
</DataTrigger>
<DataTrigger Binding="{Binding DataContext.IsReadOnly, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Value="True">
<Setter TargetName="PART_Editor" Property="IsEnabled" Value="False" />
</DataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</dxg:GridColumn.EditTemplate>
<dxg:GridColumn.DisplayTemplate>
<ControlTemplate>
<TextBlock Margin="5,0,0,0" VerticalAlignment="Center" Text="{Binding RowData.Row.Tolerance.ToleranceType}" />
</ControlTemplate>
</dxg:GridColumn.DisplayTemplate>
</dxg:GridColumn>
</dxg:GridControl.Columns>
</dxg:GridControl>
значения хорошо отображаются в шаблоне отображения, но при нажатии на ячейку элемент управления меняется на dxe:ComboBoxEdit, но он автоматически не выбирает сохраненное значение из списка значений в раскрывающемся списке, поэтому значение в текстовом поле шаблонов отображения теряется после нажатия в другом месте.
Использование Dev Express v 18.1
Пожалуйста, помогите в том же Спасибо