Mil*_*les 14 wpf binding string-formatting
我有一组文本块,我将要展示,我需要以不同的方式显示每个文本块的文本.我目前正在标签属性中保存格式字符串,我需要以这种格式显示文本.如何绑定StringFormat部分?
类似下面的部分:
<TextBlock Tag="{Binding MyFormatString}" Text="{Binding MyProperty, StringFormat='{}{0:MyTag}'}" />
Hei*_*nzi 21
既然BindingBase.StringFormat不是依赖属性,我认为你不能绑定它.如果格式化字符串不同,我担心你将不得不求助于这样的事情
<TextBlock Text="{Binding MyFormattedProperty}" />
Run Code Online (Sandbox Code Playgroud)
并在视图模型中进行格式化.或者,您可以使用MultiBinding和转换器(示例代码未经测试):
<TextBlock>
<TextBlock.Text>
<MultiBinding Converter="{StaticResource myStringFormatter}">
<Binding Path="MyProperty" />
<Binding Path="MyFormatString" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
public class StringFormatter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
return string.Format((string)values[1], values[0]);
}
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13455 次 |
| 最近记录: |