当前位置:  开发笔记 > 编程语言 > 正文

仅绑定标签的一部分

如何解决《仅绑定标签的一部分》经验,为你挑选了3个好方法。

如何在WPF绑定控件中实现将绑定值与常量文本混合?

例如,假设我有一个显示订单的表单,我想要一个显示"订单ID 1234"等文本的标签.

我尝试过这样的事情:

text="Order ID {Binding ....}"

这是可以实现的,还是我必须做一些事情,比如在流量控制中有多个标签?



1> LPCRoy..:

Binding.StringFormat属性不适用于标签,您需要在Label上使用ContentStringFormat属性.
例如,以下示例将起作用:

 

虽然这个样本不会:


由于`Label.Content`是`Object`类型,绑定看不需要将值转换并格式化为字符串.

2> Inferis..:

如果您使用的是3.5 SP1,则可以StringFormat在绑定上使用该属性:

否则,请使用转换器:


随着StringFormatConverter作为一个IValueConverter:

[ValueConversion(typeof(object), typeof(string))]
public class StringFormatConverter : IValueConverter
{
    public string StringFormat { get; set; }

    public object Convert(object value, Type targetType,
                          object parameter, CultureInfo culture) {
         if (string.IsNullOrEmpty(StringFormat)) return "";
         return string.Format(StringFormat, value);
    }


    public object ConvertBack(object value, Type targetType,
                              object parameter, CultureInfo culture)
    {
        throw new NotSupportedException();
    }

那就行了.

[ 编辑:将Text属性更改为Content]


AFAIK标签控件没有`Text`属性.你应该绑定到`Content`属性

3> bendewey..:

例如,经常被忽视的只是简单地将多个文本块链接在一起





这取决于它所处的堆叠面板类型
推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有