首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Silverlight: TargetType的多个值?

Silverlight: TargetType的多个值?
EN

Stack Overflow用户
提问于 2010-12-09 10:38:51
回答 2查看 859关注 0票数 2

我可以在Silverlight 4中定义如下样式:

代码语言:javascript
复制
    <Style x:Name="Subtitle" TargetType="TextBlock">
        <Setter Property="Foreground" Value="#787878" />
        <Setter Property="FontWeight" Value="Light" />
     </Style>

但是,我也希望将这些属性应用于RunTargetType是否可以有多个值,或者以某种方式将这些样式向下传播到树中?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-09 10:55:25

通常,您可以创建一个以通用基类为目标的样式,然后创建从该基样式派生的空样式以以特定类为目标。然而,在TextBlock和Run的情况下,它们不共享公共基类,事实上,由于Run不是从FrameworkElement派生的,它甚至没有Style属性。

然而,如果你在询问一个运行是否会继承它的父TextBlock的前景/字体属性,那么它会的。但是您不能独立于其包含的TextBlock而将此样式应用于Run。

另一种选择是为前景画笔和字体粗细创建静态资源,如下所示:

代码语言:javascript
复制
<Grid
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

<Grid.Resources>
  <FontWeight x:Key="SubtitleFontWeight">Light</FontWeight>
  <SolidColorBrush x:Key="SubtitleForeground" Color="#787878" />
</Grid.Resources>

  <TextBlock>
    <Run Text="Hello " />
    <Run Text="World!" 
         Foreground="{StaticResource SubtitleForeground}"
         FontWeight="{StaticResource SubtitleFontWeight}" />
  </TextBlock>

</Grid>
票数 4
EN

Stack Overflow用户

发布于 2010-12-09 13:52:22

没有..。一种风格-一种TargetType...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4394351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档