2 回答

TA貢獻1848條經(jīng)驗 獲得超2個贊
在Style您創(chuàng)建僅定位Control,而不是從派生的元素Control。如果您未設(shè)置,x:Key則將其隱式設(shè)置為TargetType,因此根據(jù)您的情況x:Key="{x:Type Control}"。
沒有指定任何直接的方式Style是針對從派生的所有元素TargetType的Style。您還有其他選擇。
如果您有以下內(nèi)容 Style
<Style x:Key="ControlBaseStyle" TargetType="{x:Type Control}">
<Setter Property="Margin" Value="50" />
</Style>
您可以針對所有Buttons例如
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource ControlBaseStyle}"/>
或直接在任何元素上使用樣式,例如 Button
<Button Style="{StaticResource ControlBaseStyle}" ...>

TA貢獻1789條經(jīng)驗 獲得超8個贊
正如Fredrik Hedblad回答的那樣,您可以影響從控件繼承的所有元素。
但是,例如,您不能將樣式應(yīng)用于相同樣式的文本塊和按鈕。
要做到這一點:
<Style x:Key="DefaultStyle" TargetType="{x:Type FrameworkElement}">
<Setter Property="Control.Margin" Value="50"/>
</Style>
<Style TargetType="TextBlock" BasedOn="{StaticResource DefaultStyle}"/>
<Style TargetType="Button" BasedOn="{StaticResource DefaultStyle}"/>
- 2 回答
- 0 關(guān)注
- 732 瀏覽
添加回答
舉報