7.10 WPF 流水账 Tooltip自定义模版后不能显示内容的问题——ControlTemplate的秘密
2009-07-10 10:49
489 查看
ControlTemplate 是我使用最早的Template。昨天居然在小河沟里翻船了。
最后发现
模版定义中少了这样的语句.
问题:
我手写了一个ToolTip的Template,结果无论如何也显示不出内容,ToolTip不能用Snoop调,急死我了。 <Image Style="{StaticResource ImageStyle}" Stretch="Fill"
ToolTipService.InitialShowDelay="0"
ToolTipService.ShowDuration="10000"
>
<Image.Resources>
<Style x:Key="tooltip" TargetType="ToolTip">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate >
<Border x:Name="grid1">
<ContentPresenter></ContentPresenter>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Image.Resources>
<Image.ToolTip>
<ToolTip x:Name="nametip" Style="{StaticResource tooltip}" >
<StackPanel>
<TextBlock x:Name="nickname" Text="{Binding Path=Name, Mode=OneWay}" />
</StackPanel>
</ToolTip>
</Image.ToolTip>
</Image>
简单得不能再简单了.可是文字偏偏怎么也显示不出来.ToolTipService.InitialShowDelay="0"
ToolTipService.ShowDuration="10000"
>
<Image.Resources>
<Style x:Key="tooltip" TargetType="ToolTip">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate >
<Border x:Name="grid1">
<ContentPresenter></ContentPresenter>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Image.Resources>
<Image.ToolTip>
<ToolTip x:Name="nametip" Style="{StaticResource tooltip}" >
<StackPanel>
<TextBlock x:Name="nickname" Text="{Binding Path=Name, Mode=OneWay}" />
</StackPanel>
</ToolTip>
</Image.ToolTip>
</Image>
最后发现
模版定义中少了这样的语句.
分析原因:
模版的中定义内容显示的部分是<ContentPresenter/>。它会寻找控件Content的属性,如果不指定ControlTemplate的“TargetType”,他会将控件当做“Control”类型,但是Control没有Content属性,所以内容显示不出来。结论:
在模版中是ContentPresenter的时候一定要指定ControlTemplate的TargetType属性。疑惑:
既然ContentPresenter找不到Content属性为什么没有异常呢?相关文章推荐
- tabcontrol的alignment属性设置成Left或Right时,tabPage的text内容不能显示的问题
- listcontrol不能显示列名以及不能显示后续列内容的问题
- 关于显示数据时内容过多的问题和动态的tooltip实现
- echarts自定义tooltip显示内容
- WPF Template模版之DataTemplate与ControlTemplate的关系和应用【二】
- [WPF疑难]ErrorTemplate显示与隐藏问题
- ISA发布MOSS网站内容查询WEB部件不能显示问题?
- WPF知识点--自定义Button(ControlTemplate控件模板)
- INDY发送html邮件带附件邮件内容不能正确显示的问题
- unity3d的ugui中,text内容显示不完全甚至放大消失的问题(text 中字符不能完全显示,字符丢失)
- 自定义Echarts地理分布图tooltip显示内容
- [WPF疑难]ErrorTemplate显示与隐藏问题
- Django Static内容不能加载显示问题
- Thinkphp 3.2 显示html内容的时候 多了斜杠 导致样式和图片不能正常显示问题解决
- Common Controls(Comctl32.dll)版本问题导致Tooltip控件不能正常显示
- DbgView 显示OutputDebugString 输出内容 不能显示问题总结
- shareSDK分享平台分享内容出去显示“来自XXX”的问题及其如何修改分享菜单的背景图片以及调用无UI方法自定义UI分享
- 使用https时,网站一些内容不能正常显示的问题
- WPF dev GridControl 鼠标移上去显示Tooltip
- DbgView 显示OutputDebugString输出内容 不能显示问题总结