我在WPF中使用DataTemplates上的样式时出现问题...看起来很糟糕。假设您定义了一个DataTemplate:
<DataTemplate DataType="{x:Type local:DataSource}">
<TextBox Style="{StaticResource TextBoxStyle}" Text="{Binding Path=myData}" />
</DataTemplate>
现在有没有办法动态调整此元素的样式? (例如,在应用程序的某些部分更改背景颜色)我的问题是:
有没有人看到这样做的方法?
答案 0 :(得分:1)
您可以使用DynamicResource
进行尝试<DataTemplate DataType="{x:Type local:DataSource}">
<TextBox Style="{DynamicResource TextBoxStyle}" Text="{Binding Path=myData}" />
</DataTemplate>
然后如果您需要更改任何其他控件中的样式。您可以使用该控件的相同键声明相同的资源。假设您在ListBox中使用它。
<ListBox>
<ListBox.Resources>
<Style x:Key="TextBoxStyle" TargetType="TextBox">
<!--define changed style.-->
</Style>
</ListBox.Resources>
</ListBox>
新风格将适用于那里。