Ответ 1
Сортировка, в зависимости от того, что вы пытаетесь установить. Если свойства являются свойствами общего базового класса, то да, вы можете. У вас также есть больше опций в WPF, чем Silverlight, потому что вы можете наследовать стили. Например...
<Window.Resources>
<Style x:Key="CommonStyle" TargetType="FrameworkElement">
<Setter Property="Margin" Value="2" />
</Style>
<Style TargetType="StackPanel" BasedOn="{StaticResource CommonStyle}">
</Style>
<Style TargetType="Grid" BasedOn="{StaticResource CommonStyle}">
</Style>
<Style TargetType="Button" BasedOn="{StaticResource CommonStyle}">
<Setter Property="Background" Value="LimeGreen" />
</Style>
</Window.Resources>
Общий стиль CommonStyle
будет унаследован тремя неявными стилями. Но вы можете указать только свойства, которые являются общими для всех классов FrameworkElement. Вы не можете установить Background в CommonStyle, потому что FrameworkElement не предоставляет свойство Background. Таким образом, хотя Grid и StackPanel имеют Background (унаследованные от Panel), это не то же свойство фона, что и Button (унаследовано от Control.)
Надеюсь, это поможет вам на пути.