WPF 触发器
我试图设置一个触发器,当我获得的单元格值是某种类型时显示文本块。
我已经成功地在相同的情况下显示了图像,但在这种情况下我不需要图像,而是一些文本。
已注释掉几行以便测试。尝试使其工作。 注释掉的代码有效! 其中的文本块 text=xxx 没有。
这是我的尝试
<wpfToolkit:DataGridTemplateColumn Header="P" Width="20">
<wpfToolkit:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<!-- <DataTemplate.Triggers> -->
<!-- <DataTrigger Binding="{Binding PrecedenceIndicator}" Value="1"> -->
<TextBlock Text="XXX" />
<!-- </DataTrigger> -->
<!-- <DataTrigger Binding="{Binding PrecedenceIndicator}" Value="2"> -->
<!-- <Setter TargetName="cablePrecedenceIndicatorImage" Property="Source" Value="Resources\Images\small_exclamation_mark.png"/> -->
<!-- </DataTrigger> -->
<!-- </DataTemplate.Triggers> -->
</DataTemplate>
</wpfToolkit:DataGridTemplateColumn.CellTemplate>
</wpfToolkit:DataGridTemplateColumn>
I'm trying to set a trigger to display a block of text when the value i get for the cell is a certain type.
I have successfully managed to display an image in the same situation, but in this circumstance i don't want an image, but some text.
Have commented out lines in order to test.try to make it work. The commented out code works ! The textblock text=xxx inside it, doesn't.
This is my attempts(s)
<wpfToolkit:DataGridTemplateColumn Header="P" Width="20">
<wpfToolkit:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<!-- <DataTemplate.Triggers> -->
<!-- <DataTrigger Binding="{Binding PrecedenceIndicator}" Value="1"> -->
<TextBlock Text="XXX" />
<!-- </DataTrigger> -->
<!-- <DataTrigger Binding="{Binding PrecedenceIndicator}" Value="2"> -->
<!-- <Setter TargetName="cablePrecedenceIndicatorImage" Property="Source" Value="Resources\Images\small_exclamation_mark.png"/> -->
<!-- </DataTrigger> -->
<!-- </DataTemplate.Triggers> -->
</DataTemplate>
</wpfToolkit:DataGridTemplateColumn.CellTemplate>
</wpfToolkit:DataGridTemplateColumn>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
将DataTemplate的内容设置为TextBlock,并根据触发器设置可见性。 我不确定第二个 DataTrigger 的用途,因为它引用当前范围内不存在的目标名称,所以我不知道它如何适合。
Set the content of the DataTemplate to the TextBlock and set the visibility based on the trigger. I'm not sure what the second DataTrigger is for because it is referring to a target name that does not exist in the current scope, so I don't know how this fits in.
杰出的 ! 非常感谢:)
这就是我的最终结果。 如果PrecedenceIndicator =1,则显示!,如果PrecedenceIndicator =2,则显示!!。
Brilliant ! Thanks heaps :)
This is what I ended up with. If PrecedenceIndicator =1, display !, if PrecendenceIndicator =2, display !!.
您需要根据触发器更改 DataTemplate 的类型,从图像更改为文本框。
You need to change the type of the DataTemplate, based on your trigger, from an Image to a TextBox.