绑定到2个字符串元素?

wpf*_*pls 2 c# data-binding wpf binding

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

例如,我想在文本框中显示类似myserver.com:80的内容.所以为了做到这一点,我想绑定到Host字段,然后添加一个":"然后绑定到我的对象中的端口字段全部用于相同的标签内容.

Ken*_*art 5

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

<TextBlock>
    <TextBlock.Text>
        <MultiBinding StringFormat="{0}:{1}">
            <Binding Path="Host"/>
            <Binding Path="Port"/>
        </MultiBinding>
    </TextBlock.Text>
</TextBlock>
Run Code Online (Sandbox Code Playgroud)

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

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