Pac*_*chu 7 c# wpf tooltip multibinding
我想在文本块中创建一个带有多绑定的工具提示,但无论我尝试它都不起作用.
这是我到目前为止所尝试的:
<TextBlock Text="{Binding Description, StringFormat='Description : {0}{}'}">
<ToolTipService.ToolTip>
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="Description : {0}{1}{}">
<Binding Path="FirstDescription" />
<Binding Path="SecondDescription" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</ToolTipService.ToolTip>
</TextBlock>
Run Code Online (Sandbox Code Playgroud)
但是当我尝试它时,我在工具提示上看到的是:System.Windows.Controls.TextBlock.
当我尝试没有tooltipservice,只有工具提示,像这样:
<TextBlock Text="{Binding Description, StringFormat='Description : {0}{}'}">
<ToolTip>
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="Description : {0}{1}{}">
<Binding Path="FirstDescription" />
<Binding Path="SecondDescription" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</ToolTip>
</TextBlock>
Run Code Online (Sandbox Code Playgroud)
屏幕刚刚卡住了.
我不知道您使用的是哪个 VS 版本,但是:
<TextBlock Text="{Binding Description, StringFormat="Description : {0}{}"}">
Run Code Online (Sandbox Code Playgroud)
甚至不为我编译。
只需删除 " 和这样的空括号:
<TextBlock Text="{Binding Description, StringFormat=Description : {0}">
Run Code Online (Sandbox Code Playgroud)
如果你想要“,你也可以这样写:
<TextBlock>
<TextBlock.Text>
<Binding Path="Description" StringFormat="Description : {0}" />
</TextBlock.Text>
<ToolTipService.ToolTip>
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="Description : {0}{1}">
<Binding Path="FirstDescription" />
<Binding Path="SecondDescription" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</ToolTipService.ToolTip>
</TextBlock>
Run Code Online (Sandbox Code Playgroud)
只需删除空括号即可。接下来的代码按预期工作:
<TextBlock Text="{Binding Description, StringFormat='Description : {0}'}">
<ToolTipService.ToolTip>
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="Description : {0}{1}">
<Binding Path="FirstDescription" />
<Binding Path="SecondDescription" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</ToolTipService.ToolTip>
</TextBlock>
Run Code Online (Sandbox Code Playgroud)
如果 StringFormat 以左大括号 { 开头,则 XAML 解析器要求您使用一对大括号 {} 对其进行转义。否则,解析器会感到困惑,因为标记扩展的语法中也使用了大括号。
详细信息可在{} 转义序列/标记扩展的 XAML 文档中找到。
此外,您不能将双引号用于内联绑定,但可以使用单引号。
| 归档时间: |
|
| 查看次数: |
3264 次 |
| 最近记录: |