Подтвердить что ты не робот

Можно ли использовать конвертер в стиле?

Можно ли использовать конвертер в стиле? Например, я пытаюсь создать стиль TextBlock, текст которого изменяется на основе свойства ActualHeight TextBlock. Изменение размера будет осуществляться с помощью конвертера.

4b9b3361

Ответ 1

Да, это возможно. Например:

<Style TargetType="TextBlock">
    <Setter Property="FontSize">
        <Setter.Value>
            <Binding Path="ActualHeight" RelativeSource="{RelativeSource Self}">
                <Binding.Converter>
                    <MyConverter/>
                </Binding.Converter>
            </Binding>
        </Setter.Value>
    </Setter>
</Style>

В зависимости от вашего точного сценария вы также можете использовать более сжатые:

<Style TargetType="TextBlock">
    <Setter Property="FontSize" Value="{Binding ActualHeight, RelativeSource={RelativeSource Self}, Converter={StaticResource MyConverter}}"/>
</Style>

Ответ 2

Мне удалось получить что-то похожее на работу, используя:

<Setter Property="Text">
  <Setter.Value>
    <Binding Path="CompanyName">
      <Binding.Converter>
        <conv:UppercaseConverter/>
      </Binding.Converter>
    </Binding>
  </Setter.Value>
</Setter>

Надеюсь, что это сработает и для вас.

Янн

PS - CompanyName - это имя фактического свойства ViewModel. Я привязывал текстовый блок к