Я хотел применить стиль к текстовому блоку и текстовому блоку, но выбранный ответ не работал для меня, потому что текстовый блок не наследуется от элемента управления, в моем случае я хотел повлиять на свойство видимости, поэтому я использовал FrameworkElement
<Style x:Key="ShowIfRequiredStyle" TargetType="{x:Type FrameworkElement}">
<Setter Property="Visibility" Value="Collapsed"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ShowIfRequiredStyle, UpdateSourceTrigger=PropertyChanged}" Value="true">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
</Style.Triggers>
</Style>
<TextBlock Style="{StaticResource ResourceKey=ShowIfRequiredStyle}"/>
<TextBox Style="{StaticResource ResourceKey=ShowIfRequiredStyle}"/>
Это работает для свойства Visibility, поскольку оба элемента наследуются от Frameworkelement, а свойство определяется там. Конечно, это не будет работать для свойств, определенных только в Control, вы можете искать в дереве иерархии и пытаться найти базовый класс, в любом случае, я подумал, что это может кому-то помочь, так как это лучший результат поиска, а выбранный ответ немного неполон.