【WPF】在Style中设置ToolTip的问题

今天在群里有人问到:

“怎样设置 TextBlock.ToolTip 的width,使得过长的字符串自动换行”

其实ToolTip是一个object,我们可以在其中放置任何东西,所以要解决这个问题,其实很简单,只需 要写如下的xaml代码:

<TextBlock>
  <TextBlock.ToolTip>
     <TextBlock Text="xxxxxx" TextWrapping="Wrap"/>
  </TextBlock.ToolTip>
</TextBlock>

但问题不在这儿,很显然,我们觉得每次写ToolTip都要这么写太麻烦了,想放到Style中去,比如:

<Style TargetType="TextBlock">
      <Setter Property="ToolTipService.ToolTip">
        <Setter.Value>
          <TextBlock
            Text="// 通过绑定等方式从某地方获取文本"
            TextWrapping="Wrap"
            Width="70" />
        </Setter.Value>
      </Setter>
    </Style>

看上去这段代码没有任何问题,但编辑器却报告了一个异常:

无法向“System.Object”类型的对象添加“System.Windows.Controls.TextBlock”类型的内容。

Faint!

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索问题
, tooltip
, 代码
, 类型
, system
TextBlock
wpf 代码设置style、wpf 动态设置style、wpf 设置style、wpf style 设置事件、wpf tooltip,以便于您获取更多的相关知识。

时间: 2025-01-21 01:31:23

【WPF】在Style中设置ToolTip的问题的相关文章

[WPF]在Style中设置ToolTip的问题分析

刚才开到智者千虑发的[WPF]在Style中设置ToolTip的问题的博文,虽然最终给了一个暂时解决问题的方案,但是没有分析和解释其中的问题,正与他所说:但至于为什么不能直接在Setter.Value中放置TextBlock还是一个未解之谜. 趁着中午间隙,跟踪了一下,这里我将带给你完整的分析. 为了描述问题,首先,给出问题的xaml,当然,你也可以去智者千虑的blog查看详细描述. <TextBlock x:Name="textBlockContainer" Text=&quo

textview-以程序的形式设置 Typeface,在 xml 中设置 text style

问题描述 以程序的形式设置 Typeface,在 xml 中设置 text style 我在 xml 中定义了一个 textview,现在以程序化的方式设置 Typeface: textView.setTypeface(APP_FONT_REGULAR); //在assests (.ttf file) 中自定义字体 现在我在 xml 中设置了android:textStyle=""bold""但是为什么没有应用粗体字?如何应用自定义的 Typface 并把它设置为粗

怎么样让wpf中前台已存在的控件的属性可以在后台代码中设置

问题描述 怎么样让wpf中前台已存在的控件的属性可以在后台代码中设置 怎么样让wpf中前台已存在的控件的属性可以在后台代码中设置,比如说xaml中已经存在一个border,我想要在后台代码中初始化他的旋转角度 解决方案 这些属性是可以在后台代码中设置的,直接在后台.cs文件里写就是了 解决方案二: 好像不能把,比如说 在后台代码怎么修改Angle属性呢 解决方案三: http://www.cnblogs.com/slowhand/archive/2013/05/13/3076259.html 亲

WPF自定义控件的自定义属性如何在调用XAML中设置?

问题描述 我的自定义控件(MyControl)中定义了一个属性:privateButton_myButton=null;publicButtonMyButton{get{return_myButton;}set{_myButton=value;OnPropertyChanged(newPropertyChangedEventArgs("MyButton"));}}让它在调用界面的XAML中关联一个Button:<ButtonName="Button1"/>

js style动态设置table高度

 直接在table标签中设置下不就行了吗?这是静态的,如果要动态设置你会吗?   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 function com_onresize(){    var contentsHeight = document.body.clientHeight; var buttonsHeight = documen

easyui中设置checkbox默认选中失效

问题描述 在easyui中设置多选框和文本框的默认值时失效. 页面不显示默认值.代码如下<div id="chanel_dlg" class="easyui-dialog"style="width:450px;height:350px;padding:10px 20px" closed="true"buttons="#chanel_dlg-buttons" modal="true"

jsp-JSP中设置table的border属性无效

问题描述 JSP中设置table的border属性无效 下面是我设置的代码: <table border="100px" bordercolor="green"> <tr> <td> ID </td> <td> 标题 </td> <td> 描述 </td> <td> 价格 </td> <td> 数量 </td> <td

alertcontroller-iOS8 之后使用UIAlertController 如何actionSheet style中添加多个图片按钮

问题描述 iOS8 之后使用UIAlertController 如何actionSheet style中添加多个图片按钮 类似于分享那种actionSheet,在弹出试图中添加多个图片按钮 解决方案 我有一个demo,你可以参考一下!不知道你是否现在需要! 解决方案二: 可以换种思路吗?不用UIAlertController,用那种下拉菜单,至于你需要往哪里弹出来可以自己设置

js style动态设置table高度_javascript技巧

直接在table标签中设置下不就行了吗?这是静态的,如果要动态设置你会吗? function com_onresize(){ var contentsHeight = document.body.clientHeight; var buttonsHeight = document.getElementById( "buttons" ).offsetHeight; var head1Height = document.getElementById( "head1" )