Привязка к 2 строковым элементам? - PullRequest
2 голосов
/ 22 марта 2011

Возможно ли в WPF связать 2 элемента?

Например, я хотел бы отобразить что-то вроде myserver.com:80 в текстовом поле. Поэтому для этого я хотел бы привязать оба поля Host, затем добавить «:», а затем привязать к полю порта в моем объекте все для одинакового содержимого метки.

1 Ответ

5 голосов
/ 22 марта 2011

В WPF 4 / 3.5SP1 вы можете использовать MultiBinding в сочетании с StringFormat:

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

До WPF 4 вы все еще можете использовать MultiBinding, но вместо этого нужно будет написать собственный конвертер.

Альтернативой обоим этим подходам является использование MVVM и предоставление свойства, которое выполняет конкатенацию для представления, тогда представление просто привязывается непосредственно к этому свойству.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...