XAML通过绑定设置资源键

时间:2017-02-17 12:43:30

标签: c# wpf xaml

我想动态更改网格样式。为此目的,假设我有3个文本块,其中定义了3个内容。

<TextBlock x:Name="Block1" Text="key1" />
<TextBlock x:Name="Block2" Text="key2" />
<TextBlock x:Name="Block3" Text="key3" />

对于每个键(1,2,3),都有一个用名称x:Key =&#34; key1&#34;定义的样式。 现在我想在我的网格中找到这样的东西:

<Grid Style="{DynamicResource {Binding ElementName=Block1, Path=Text}} />

这可以在默认XAML中使用,还是必须找到解决方法?

1 个答案:

答案 0 :(得分:0)

  

这可以在默认XAML中使用,还是必须找到解决方法?

不,我担心你不能将StaticResourceDynamicResource标记扩展名与“动态”值一起使用。必须在编译时知道资源的密钥。

绑定到属性并使用转换器将是一种方式:

<Grid Style="{Binding ElementName=Block1, Path=Text, Converter={StaticResource converter}}">

但我想这是一种解决方法。