WPF绑定 - StringFormat - 不格式化

Dav*_*ard 18 wpf binding

我有一个工具提示,其值设置为:

Value="{Binding Path=DataItem.EquitySold, StringFormat=Reserved (Equity Share: \{0\}%)}"
Run Code Online (Sandbox Code Playgroud)

工具包显示为:

72

但我希望它是:

保留(股权比例:72%)

我的绑定有什么问题?

Mit*_*tch 53

toolTip是一个内容控件,这意味着它实际上没有显示模型.这在@deccyclone的早期答案中得到了证明,该答案将内容设置为TextBlock.由于TextBox旨在显示文本,因此StringFormat绑定属性的工作方式与广告一样.按钮是另一个例子.(两者都来自ContentControl)

如果将ToolTip的内容设置为字符串,则显示该字符串,因为如果dataType是字符串,则ToolTip具有内置转换器.如果要利用内置的字符串转换器,则需要使用ContentStringFormat属性设置格式.

<ToolTip
     Content="{Binding Path=Value}"
     ContentStringFormat="{}{0:F2} M"
/>
Run Code Online (Sandbox Code Playgroud)

顺便说一句,关于何时使用StringFormat或ContentStringFormat的提示是控件提供用于设置显示文本的属性.Text属性 - >使用StringFormat Content属性 - >使用ContentStringFormat

  • 标题属性 - > HeaderStringFormat :)谢谢! (3认同)

dec*_*one 16

你有没有尝试过:

<ToolTip>
    <TextBlock Text="{Binding Path=DataItem.EquitySold, StringFormat=Reserved (Equity Share: \{0\}%)}" />
</ToolTip>
Run Code Online (Sandbox Code Playgroud)