我創建了一個DataTemplate代表一個圖示(受此答案enum啟發):
<DataTemplate DataType="{x:Type enums:EntryType}">
<Control x:Name="EntryTypeControl"
ToolTip="{Binding}" />
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding}" Value="{x:Static enums:EntryType.Debug}">
<Setter TargetName="ItemTypeControl" Property="Template" Value="{StaticResource DebugGlyph}" />
</DataTrigger>
<DataTrigger Binding="{Binding}" Value="{x:Static enums:EntryType.Info}">
<Setter TargetName="ItemTypeControl" Property="Template" Value="{StaticResource InfoGlyph}" />
</DataTrigger>
<DataTrigger Binding="{Binding}" Value="{x:Static enums:EntryType.Warn}">
<Setter TargetName="ItemTypeControl" Property="Template" Value="{StaticResource WarningGlyph}" />
</DataTrigger>
<DataTrigger Binding="{Binding}" Value="{x:Static enums:EntryType.Error}">
<Setter TargetName="ItemTypeControl" Property="Template" Value="{StaticResource ErrorGlyph}" />
</DataTrigger>
<DataTrigger Binding="{Binding}" Value="{x:Static enums:EntryType.Fatal}">
<Setter TargetName="ItemTypeControl" Property="Template" Value="{StaticResource FatalGlyph}" />
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
除了工具提示之外,這是按預期作業的:我真的很想顯示列舉的原始字串表示形式(即沒有DataTemplate. 然而,真正發生的是工具提示只是再次顯示圖示。我如何說服模板不參考自身?
顯然,如果我分配一個專用x:Key的DataTemplate并明確參考它,這將起作用,但如果不這樣做,這也可能嗎?
uj5u.com熱心網友回復:
您可以添加TextBlock一個ToolTip:
<Control x:Name="EntryTypeControl">
<Control.ToolTip>
<ToolTip>
<TextBlock Text="{Binding}" />
</ToolTip>
</Control.ToolTip>
</Control>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/439559.html
上一篇:什么是JavaScript/node.js函式HMACSHA256()?
下一篇:將嵌套物件系結到WPF資料網格
