C# 如何更改uwp上嵌套元素的样式

C# 如何更改uwp上嵌套元素的样式,c#,uwp,C#,Uwp,我有一个从internet加载文章的应用程序,我想更改其上的BlockQuote,因此我创建了一个自定义样式,但BlockQuote样式从未更改 要更改它,我必须从html代码中删除和!所以我需要使用嵌套样式,但是DocumentStyle无法设置任何想法 这是我的密码: <!-- my style for html --> <Style TargetType="controls:HtmlBlock" x:Key="HtmlPersonalStyle">

我有一个从internet加载文章的应用程序,我想更改其上的
BlockQuote
,因此我创建了一个自定义样式,但
BlockQuote
样式从未更改

要更改它,我必须从html代码中删除

!所以我需要使用嵌套样式,但是
DocumentStyle
无法设置任何想法

这是我的密码:

    <!-- my style for html -->
<Style TargetType="controls:HtmlBlock" x:Key="HtmlPersonalStyle">
    <Setter Property="Foreground" Value="{ThemeResource ApplicationHeaderForegroundThemeBrush}"/>
    <Setter Property="DocumentStyle">
        <Setter.Value>
            <controls:DocumentStyle>
                <controls:DocumentStyle.P>
                    <controls:ParagraphStyle Margin="0,24,0,24" />
                </controls:DocumentStyle.P>
                <controls:DocumentStyle.BlockQuote>
                    <controls:ParagraphStyle Foreground="{StaticResource NavigationPaneButton}" FontWeight="Bold"/>
                </controls:DocumentStyle.BlockQuote>
                <controls:DocumentStyle.Ul>
                    <controls:ContainerStyle Margin="0,24,0,24" />
                </controls:DocumentStyle.Ul>
                <controls:DocumentStyle.H1>
                    <controls:ParagraphStyle FontSizeRatio="2" />
                </controls:DocumentStyle.H1>
                <controls:DocumentStyle.H2>
                    <controls:ParagraphStyle />
                </controls:DocumentStyle.H2>
                <controls:DocumentStyle.Li>
                    <controls:ListStyle Bullet="*"/>
                </controls:DocumentStyle.Li>
                <controls:DocumentStyle.Span>
                    <controls:TextStyle Foreground="#FF104F83" FontStyle="Normal"/>
                </controls:DocumentStyle.Span>
                <controls:DocumentStyle.A>
                    <controls:TextStyle Foreground="{StaticResource NavigationPaneButton}" FontWeight="Bold"/>
                </controls:DocumentStyle.A>
                <controls:DocumentStyle.Cite>
                    <controls:TextStyle Foreground="{StaticResource NavigationPaneButton}" FontWeight="Bold"/>
                </controls:DocumentStyle.Cite>
                <controls:DocumentStyle.YouTube>
                    <controls:ImageStyle HorizontalAlignment="Center"/>
                </controls:DocumentStyle.YouTube>
                <controls:DocumentStyle.Figure>
                    <controls:ContainerStyle Margin="0,24,0,24"/>
                </controls:DocumentStyle.Figure>
                <controls:DocumentStyle.Time>
                    <controls:TextStyle FontSizeRatio="0.9" FontStyle="Italic" />
                </controls:DocumentStyle.Time>
            </controls:DocumentStyle>
        </Setter.Value>
    </Setter>
</Style>

希望有人能帮助我

我有一个从互联网加载文章的应用程序,我想更改它的BlockQuote,所以我创建了一个自定义样式,但BlockQuote样式从未更改

您似乎正在使用Windows App Studio进行开发。通过在我这边进行测试,可以通过设置
DocumentStyle.BlockQuote
成功更改
样式。即使嵌套在
标记中的
,样式仍然可以很好地工作

以下是我的测试HTML:

<header class="post-header">
    <time class="date">March 8, 2016 10:00 am</time>
    <h1 class="post-title">Building Hosted Web Apps with Windows App Studio</h1>
    <div><p><blockquote>test block quote </blockquote></p></div>
    <blockquote>test block quote 2</blockquote> 
</header>

2016年3月8日上午10:00
使用Windows App Studio构建托管Web应用
试块报价

试块报价2
以及更新的样式:

<Style x:Key="sampleStyle" TargetType="was:HtmlBlock">
   <Setter Property="Foreground" Value="#666" />
   <Setter Property="DocumentStyle">
       <Setter.Value>
           <was:DocumentStyle>
               <was:DocumentStyle.P>
                   <was:ParagraphStyle Margin="0,24,0,24" />
               </was:DocumentStyle.P>
               <was:DocumentStyle.BlockQuote>
                   <was:ParagraphStyle Foreground="Red" FontWeight="Bold"/>
               </was:DocumentStyle.BlockQuote>
               ...
           </was:DocumentStyle>
       </Setter.Value>
   </Setter>

...
测试结果如下:

我根据您可以参考的样式更新了样式。因此,请确保自定义样式正好设置为您这边的
HTMLBlock
。如果您仍然有问题,请尝试提供基于官方样本的最小复制演示

此外,目前建议使用,而不是Windows App Studio。详情请参考

我有一个从互联网加载文章的应用程序,我想更改它的BlockQuote,所以我创建了一个自定义样式,但BlockQuote样式从未更改

您似乎正在使用Windows App Studio进行开发。通过在我这边进行测试,可以通过设置
DocumentStyle.BlockQuote
成功更改
样式。即使嵌套在
标记中的
,样式仍然可以很好地工作

以下是我的测试HTML:

<header class="post-header">
    <time class="date">March 8, 2016 10:00 am</time>
    <h1 class="post-title">Building Hosted Web Apps with Windows App Studio</h1>
    <div><p><blockquote>test block quote </blockquote></p></div>
    <blockquote>test block quote 2</blockquote> 
</header>

2016年3月8日上午10:00
使用Windows App Studio构建托管Web应用
试块报价

试块报价2
以及更新的样式:

<Style x:Key="sampleStyle" TargetType="was:HtmlBlock">
   <Setter Property="Foreground" Value="#666" />
   <Setter Property="DocumentStyle">
       <Setter.Value>
           <was:DocumentStyle>
               <was:DocumentStyle.P>
                   <was:ParagraphStyle Margin="0,24,0,24" />
               </was:DocumentStyle.P>
               <was:DocumentStyle.BlockQuote>
                   <was:ParagraphStyle Foreground="Red" FontWeight="Bold"/>
               </was:DocumentStyle.BlockQuote>
               ...
           </was:DocumentStyle>
       </Setter.Value>
   </Setter>

...
测试结果如下:

我根据您可以参考的样式更新了样式。因此,请确保自定义样式正好设置为您这边的
HTMLBlock
。如果您仍然有问题,请尝试提供基于官方样本的最小复制演示


此外,目前建议使用,而不是Windows App Studio。详细信息请参考。

看起来您正在应用程序中使用
AppStudio
插件,因此要编辑嵌套元素,您必须从中安装
AppStudio
代码,然后您可以在编写之前编辑元素,而不使用任何样式

看起来您正在应用程序中使用
AppStudio
插件,因此要编辑嵌套元素,您必须从中安装
AppStudio
代码,然后您可以在编写元素之前编辑该元素,而无需使用任何样式

谢谢你的帮助,但是在我的代码中,
里面,所以没有改变任何想法…@louay,如果最新的标签是
,你需要更新
p
样式
如果我更改
我所有html的字体颜色将随我的
blockquote
任何想法而更改@Sunteen@louay,这就是问题所在,为什么需要
内部?您的要求只有这一项是特别的,我认为这是不推荐的。正如我在回复中提到的,Windows App Studio是日落,我可以知道你为什么坚持使用它吗?我没有使用app studio应用程序,但是我有一个wordpress和
块引号
里面有
,我不知道该做什么感谢你的帮助,但是在我的代码中
里面有
,所以没有任何想法改变…@louay,如果最新的标签是
,那么,您需要更新
P
样式
如果我更改
我所有html的字体颜色将随我的
blockquote
任何想法而更改@Sunteen@louay,这就是问题所在,为什么需要
内部?您的要求只有这一项是特别的,我认为这是不推荐的。正如我在回复中提到的,Windows App Studio是日落,我能知道你为什么坚持使用它吗?我没有使用App Studio应用程序,但我有一个wordpress和
块引号,里面有
,我不知道该怎么办