Можем ли мы иметь контент, содержащий значение по умолчанию + данные привязки? - PullRequest
0 голосов
/ 24 апреля 2019

Я хотел бы знать, есть ли возможность в WPF выполнить что-то вроде этого:

<Label Content="ValueWhoNeverChange + {Binding MyTargetValue}"/>

Ответы [ 2 ]

2 голосов
/ 24 апреля 2019

Вы можете использовать свойство ContentStringFormat , что-то вроде

<Label Content="{Binding Path=MyTargetValue}"
    ContentStringFormat="ValueWhoNeverChange {0}" />

Надеюсь, это поможет вам.

1 голос
/ 24 апреля 2019

Боюсь, что в XAML не поддерживается оператор +, поэтому, если вы хотите отобразить сумму ValueWhoNeverChange и MyTargetValue, вам придется написать некоторый код.

Вы можете определить свойство только для чтения, которое возвращает сумму и привязку к этому:

public int Sum => ValueWhoNeverChange + MyTargetValue;

Не забудьте вызывать событие PropertyChanged для свойства Sum всякий раз, когда для MyTargetValue устанавливается новое значение.

Или вы можете использовать конвертер: http://www.codearsenal.net/2013/12/wpf-multibinding-example.html#.XMBnQ0xuJaQ

<Label>
    <Label.Content>
        <MultiBinding>
            <MultiBinding.Converter>
                <local:MultiC />
            </MultiBinding.Converter>
            <Binding Path="ValueWhoNeverChange" />
            <Binding Path="MyTargetValue" />
        </MultiBinding>
    </Label.Content>
</Label>

Кстати, вы должны использовать TextBlock вместо Label для отображения текста в WPF.

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