将ValueConverter应用于样式中的TextBlock

时间:2014-12-08 11:28:17

标签: c# wpf xaml styling

我试图确保样式TextBlock的所有HeadingL4元素都以所有大写字母结束,理想情况下,没有任何明确引用任何{中的任务所需的值转换器{1}}自己(毕竟,在未来的某个时刻,企业将完全有可能决定使用小型上限或下划线或大胆标题)。

我以为自己是一个有风格的东西

TextBlock

然而,虽然这会导致转换,但TextBlock中的值不会更新,这意味着转换可能发生得太晚或太早;转换是采用样式然后<Style TargetType="TextBlock" x:Key="HeadingL4" BasedOn="{StaticResource CustomBase}"> <Setter Property="Text" Value="{Binding Text, RelativeSource={RelativeSource Self}, Converter={StaticResource AllCapsConverter}}" /> </Style> 应用(使用本地属性值覆盖样式值),或者 - 正确 - Text={Binding MyHeading}应用,然后是样式(采用{{1值并将其转换为全部大写版本),但无论出于何种原因,视图永远不会使用新值进行更新(可能因为就其而言,值是相同的?)。

有人能告诉我如何通过样式为MyHeading元素的MyHeading属性正确注入转换器吗?

我应该补充一点,完全有可能这是显而易见的事情 - 我是WPF的相对新手,甚至更像造型。

0 个答案:

没有答案