【问题标题】:Binding to 2 string elements?绑定到 2 个字符串元素?
【发布时间】:2011-07-20 19:36:17
【问题描述】:

是否可以在 WPF 中绑定到 2 个元素?

例如,我想在文本框中显示类似 myserver.com:80 的内容。 所以要做到这一点,我想绑定到一个主机字段,然后添加一个“:”,然后绑定到我的对象中的一个端口字段,所有这些都具有相同的标签内容。

【问题讨论】:

    标签: c# wpf data-binding binding


    【解决方案1】:

    在 WPF 4/3.5SP1 中,您可以将 MultiBindingStringFormat 结合使用:

    <TextBlock>
        <TextBlock.Text>
            <MultiBinding StringFormat="{0}:{1}">
                <Binding Path="Host"/>
                <Binding Path="Port"/>
            </MultiBinding>
        </TextBlock.Text>
    </TextBlock>
    

    在 WPF 4 之前,您仍然可以使用 MultiBinding,但需要编写自己的转换器。

    这两种方法的替代方法是执行 MVVM 并公开一个为视图连接的属性,然后视图直接绑定到该属性。

    【讨论】:

    • +1,但 StringFormat 从 .NET 3.5 SP1 开始可用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 2016-10-31
    • 1970-01-01
    • 1970-01-01
    • 2012-05-28
    • 1970-01-01
    相关资源
    最近更新 更多