【发布时间】:2010-09-27 14:20:01
【问题描述】:
是否可以在样式中使用转换器?例如,我正在尝试创建一个样式化的TextBlock,其文本根据TextBlock 的ActualHeight 属性调整大小。调整大小将通过转换器完成。
【问题讨论】:
标签: c# wpf xaml styles converter
是否可以在样式中使用转换器?例如,我正在尝试创建一个样式化的TextBlock,其文本根据TextBlock 的ActualHeight 属性调整大小。调整大小将通过转换器完成。
【问题讨论】:
标签: c# wpf xaml styles converter
我设法通过以下方式获得了类似的工作:
<Setter Property="Text">
<Setter.Value>
<Binding Path="CompanyName">
<Binding.Converter>
<conv:UppercaseConverter/>
</Binding.Converter>
</Binding>
</Setter.Value>
</Setter>
希望它也对你有用。
亚恩
PS - CompanyName 是我将文本块绑定到的实际 ViewModel 属性的名称
【讨论】:
是的,这是可能的。例如:
<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>
【讨论】: