Вот эта идея: мне нужна кнопка expand/collapse в моем DataGridTemplateColumn
, чтобы разрешить пользователю расширять ячейку для просмотра полного содержимого или свернуть ее, чтобы видеть только первую строку. Вот мой шаблон:Добавление кнопки expand/collapse в ячейку DataGrid
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid HorizontalAlignment="Stretch" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<local:ExpandCollapseButton />
<TextBlock x:Name="MyTB" Text="{Binding Body}" Grid.Column="1" TextTrimming="WordEllipsis" />
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
ExpandCollapseButton
простой UserControl
, который переключается между + и - при нажатии иконки. Он получил свойство чтения/записи bool
с именем IsExpanded
.
Я сейчас пытаюсь добавить простой Trigger
в ExpandCollapseButton
«s триггера, которые просто набор TextBlock
» s TextTrimming
свойства WordEllipsis
в свернутом состоянии и установить его в None
в расширенном состоянии, но не могу понять, правильно способ сделать это. Я попытался добавить следующий код под моим контролем над Expand:
<local:ExpandCollapseButton.Triggers>
<Trigger Property="IsExpanded" Value="True">
<Setter TargetName="MyTB" Property="TextTrimming" Value="None" />
</Trigger>
</local:ExpandCollapseButton.Triggers>
, но это дает ошибку говоря , который я не в силах понять.
Вы не можете поместить Триггеры в UI элемент, как это. Вы можете добавить «EventTriggers» в коллекцию триггеров элемента UI. используйте 'DataTemplate.Triggers' или что-то в этом роде. –
@HighCore: Можете ли вы прокомментировать пример? – dotNET