如何在xaml中获取样式设置器属性的值?
例如,我有下一个风格:
<Style TargetType="TextBox">
<Setter Property="Background" Value="YellowGreen" />
</Style>
如何从TextBox默认样式中获取Background属性的值?
<Style TargetType="Button">
<Setter Property="Background" Value="{Binding ???}" />
</Style>
我需要这个,因为我无法访问TextBox
样式 ..
答案 0 :(得分:5)
如果你不能修改TextBox样式,你可以解决这个问题(测试,工作):
<TextBox x:Key="DefaultTextBox" />
<Style TargetType="Button">
<Setter Property="Background"
Value="{Binding Source={StaticResource DefaultTextBox}, Path=Background}" />
</Style>
您不能将xaml绑定到样式的背景设置器。
答案 1 :(得分:3)
你应该重构你的XAML:
<SolidColorBrush x:Key="BackgroundBrush" Color="YellowGreen" />
<Style TargetType="TextBox">
<Setter Property="Background" Value="{StaticResource BackgroundBrush}" />
</Style>
<Style TargetType="Button">
<Setter Property="Background" Value="{StaticResource BackgroundBrush}" />
</Style>
绑定妨碍了性能,并不适用于这种行为。