17

是否可以在样式中使用转换器?例如,我正在尝试创建一个样式TextBlock,其文本ActualHeight根据TextBlock. 调整大小将通过转换器完成。

4

2 回答 2

39

是的,这是可能的。例如:

<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>
于 2008-12-18T19:58:12.543 回答
3

我设法通过使用以下方法获得了类似的工作:

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

希望它也适合你。

PS - CompanyName 是我将文本块绑定到的实际 ViewModel 属性的名称

于 2011-01-31T11:10:56.830 回答