這裏有一個想法:我需要在我的DataGridTemplateColumn
中有一個展開/摺疊按鈕,以允許用戶展開單元格以查看完整內容,或摺疊它以僅查看第一行。這裏是我的模板:將展開/摺疊按鈕添加到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
+和之間的切換 - 單擊時的圖標。它有一個名爲IsExpanded
的讀/寫bool
屬性。
現在我想在擴展狀態下添加一個簡單Trigger
到ExpandCollapseButton
的觸發器,這將只需設置TextBlock
'處於摺疊狀態s TextTrimming
屬性WordEllipsis
並將其設置爲None
,但不能找出正確的這樣做的方式。我想我的展開控制下加入以下代碼上面:
<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