У меня есть Xceed datagrid, где каждый шаблон ячейки имеет прозрачный фон. Недавно я разместил ReadOnly TextBox внутри одного из шаблонов ячеек. Это позволяет пользователю щелкнуть по ячейке и выбрать подмножество текста. Однако один побочный эффект заключается в том, что ячейка становится белой, когда я нажимаю на TextBox.Предотвращение появления фона ячейки на фокусе
Вот колонка:
<xcdg:Column Title="{x:Static rcer:CEWR.Field_PinyinDefinition}"
AllowGroup="False"
ReadOnly="True"
CellContentTemplate="{StaticResource ceItemsCellContentTemplate}"
FieldName="Items">
<xcdg:Column.TitleTemplate>
<DataTemplate>
<TextBlock Foreground="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" Text="{Binding}" />
</DataTemplate>
</xcdg:Column.TitleTemplate>
</xcdg:Column>
и шаблон
<DataTemplate x:Key="ceItemsCellContentTemplate">
<DataTemplate.Resources />
<ItemsControl Margin="0"
Background="Transparent"
ItemTemplate="{StaticResource ceItemTemplate}"
ItemsSource="{Binding}"
Padding="0"
Style="{StaticResource itemsBoxStyle}">
<ItemsControl.ItemContainerStyle>
<Style TargetType="ContentPresenter">
<Style.Triggers>
<Trigger Property="IsFocused" Value="True">
</Trigger>
</Style.Triggers>
</Style>
</ItemsControl.ItemContainerStyle>
<ItemsControl.LayoutTransform>
<ScaleTransform ScaleX="{Binding Zoom, Source={StaticResource ceShowSettings}}" ScaleY="{Binding Zoom, Source={StaticResource ceShowSettings}}" />
</ItemsControl.LayoutTransform>
</ItemsControl>
</DataTemplate>
Здесь превращаются фон ячейки белого
Я пытался баловаться с ItemsControl, но это не так. Это должно быть нечто вроде CellContentStyle, которое пока недоступно.
Обновление. Я могу установить CanBeCurrentWhenReadOnly = «False» , и фон останется, когда я нажму на определение TextBox, но я не смогу взаимодействовать с содержимым ячейки.