Is it possible to use a converter within a style? For instance I am trying to create a styled TextBlock
whose text resizes based on the ActualHeight
property of the TextBlock
. The resizing would be done via a converter.
Yes, this is possible. For example:
<Style TargetType="TextBlock">
<Setter Property="FontSize">
<Setter.Value>
<Binding Path="ActualHeight" RelativeSource="{RelativeSource Self}">
<Binding.Converter>
<MyConverter/>
</Binding.Converter>
</Binding>
</Setter.Value>
</Setter>
</Style>
Depending on your exact scenario, you might also be able to use the more succinct:
<Style TargetType="TextBlock">
<Setter Property="FontSize" Value="{Binding ActualHeight, RelativeSource={RelativeSource Self}, Converter={StaticResource MyConverter}}"/>
</Style>
yannduran
I managed to get something similar to work by using:
<Setter Property="Text">
<Setter.Value>
<Binding Path="CompanyName">
<Binding.Converter>
<conv:UppercaseConverter/>
</Binding.Converter>
</Binding>
</Setter.Value>
</Setter>
Hope it works for you too.
Yann
PS - CompanyName is the name of the actual ViewModel property I was binding the textblock to
来源:https://stackoverflow.com/questions/378979/is-it-possible-to-use-a-converter-within-a-style