У меня есть TextBlock
с двумя свойствами (Text
и Foreground
), привязанными к одному и тому же свойству ViewModel.
Оба также имеют конвертеры.Один из преобразователей проверяет свойство Text
и возвращает тире, если значение равно NaN
.Другой проверяет, что значение выше, ниже или равно нулю, и соответственно устанавливает передний план на разные цвета.
Пример XAML:
<TextBlock>
<TextBlock.Text>
<Binding Path="AvgDistance" StringFormat="{}{0:N1}"
Converter="{x:Static converter:ValueToDash.Instance}"/>
</TextBlock.Text>
<TextBlock.Foreground>
<MultiBinding Converter="{x:Static converter:ValueToColor.Instance}">
<Binding Path="AvgDistance"/>
<Binding ElementName="currentPeriod" Path="IsChecked" />
</MultiBinding>
</TextBlock.Foreground>
</TextBlock>
Теперь мне нужно, чтобы преобразователь ValueToDash запустил до преобразователя ValueToColor, но это всегда наоборот.
Кажется, что сначала устанавливается свойство Foreground
, а только потом устанавливается свойство Text
.
Почему это так?И можно ли изменить порядок настройки?