WPF中HTML类ID的等效项是什么?

pkr*_*298 5 html wpf xaml styles

我有一些希望具有相同宽度的StackPanel。但是,这不应该影响所有StackPanels,我也不想为此子类化。我知道以下可能:

<Style BasedOn="{StaticResource {x:Type TextBlock}}"
    TargetType="TextBlock"
    x:Key="TitleText">
        <Setter Property="FontSize" Value="26"/>
</Style>

...

<TextBlock Style="{StaticResource TitleText}"> 
    Some Text 
</TextBlock>
Run Code Online (Sandbox Code Playgroud)

但是,是否有一种方法可以使TextBlock忽略其样式(就像HTML与适用于该元素的CSS规则分开时一样)?

我只想给所有相关的StackPanels相同的类ID,然后将样式应用于类ID。

K M*_*hta 5

不幸的是,这在WPF中是不可能的。您所能找到的最接近的示例就是您所展示的。

但是,如果要将样式应用于一根容器中的所有 StackPanel,则可以将样式指定为根容器的资源,而不必使用该属性。举个例子:x:Key

<Grid x:Name="LayoutRoot">
    <Grid x:Name="StackPanelsRoot">
        <Grid.Resources>
            <Style TargetType="StackPanel">
                ...
            </Style>
        </Grid.Resources>
        <StackPanel x:Name="SP1" ... />
        <StackPanel x:Name="SP2" ... />
        ...
    </Grid>
    <StackPanel x:Name="SP3" ... />
    ...
</Grid>
Run Code Online (Sandbox Code Playgroud)

此处,样式将应用于SP1SP2,但不适用于SP3