【问题标题】:In WPF/XAML how do I change the size of a paragraph of text using a scroll bar?在 WPF/XAML 中,如何使用滚动条更改一段文本的大小?
【发布时间】:2010-10-14 10:47:15
【问题描述】:

我是 WPF/XAML 的新手,目前正在做一个培训练习。

我有一个 noddy 应用程序,我想根据滚动条的位置更改标签中文本的大小。

文本由以下代码定义:

<FlowDocumentScrollViewer Grid.Row="1">
    <FlowDocument>
        <Paragraph>
            Text goes here
        </Paragraph>
    </FlowDocument>
</FlowDocumentScrollViewer>

我正在尝试定义一个 Setter,我已经做到了:

<Style TargetType="{x:Type Paragraph}">
    <Setter Property="FontSize" Value="???" />
</Style>

但我不知道需要什么“???”。我试过用谷歌搜索这个问题的答案,但我想我一定是使用了错误的搜索词,因为我还没有找到答案。

我猜这会很明显,但我不得不承认我被难住了。

【问题讨论】:

    标签: wpf visual-studio xaml


    【解决方案1】:

    您可以使用如下绑定表达式设置字体大小:

    <Paragraph FontSize="{Binding ElementName=scroll1, Path=Value}" />
    <ScrollBar x:Name="scroll1"></ScrollBar>
    

    您要查看的是绑定表达式语法,因为目前那里不支持智能感知。

    【讨论】:

      【解决方案2】:

      我实现的代码是这样的:

      <Style TargetType="{x:Type Paragraph}">
          <Setter Property="FontSize" Value="{Binding ElementName=FontSizeScroll, Path=Value}" />
      </Style>
      

      这是一种享受。

      【讨论】:

        【解决方案3】:

        FontSize 的值只是一个描述大小的数字(我认为是以磅为单位):

        <Style TargetType="{x:Type Paragraph}">
             <Setter Property="FontSize" Value="12"/>
        </Style>
        

        我不知道这是否是你想要的答案,因为感觉很明显。

        【讨论】:

        • 致对此表示赞同的人 - 恐怕它没有回答问题。是的,它告诉我如何设置字体大小,但不告诉我如何将其链接到滚动条的位置变化。
        猜你喜欢
        • 2014-09-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-19
        • 1970-01-01
        • 2014-12-17
        • 2020-03-15
        • 1970-01-01
        相关资源
        最近更新 更多