繁体   English   中英

附加属性TextBlock.FontSize如何使用?

[英]How is the attached property TextBlock.FontSize used?

我有从书中复制的以下简单代码(见下文)。 但是我对<Grid TextBlock.FontSize="48">这行有一些疑问。

  1. 据我所知,TextBlock.FontSize是一个附加属性,但我最初认为附加属性是要引用父对象(即Grid.Row附加属性引用父Grid元素时)。 但是从这里的用法来看,可能是我的理解不正确? 这是一个附加属性,如果可以的话,可以用于子元素吗?

  2. 其次,在网格上设置TextBlock.FontSize。 但是,在xaml中的任何地方都不能使用TextBlock元素(我知道)。 我只使用定义了内容的按钮。 但是,如果将TextBlock.FontSize更改为其他值,则字体大小也会更改。 因此,如何使用TextBlock.FontSize? TextBlock在哪里?

先感谢您。

<Window x:Class="UseAGrid.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid TextBlock.FontSize="48">
        <Grid.RowDefinitions>
            <RowDefinition />
            <RowDefinition Height="250" />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="2*" />
            <ColumnDefinition Width="auto" />
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>
        <Button Grid.RowSpan="2"
                Content="2 Rows" />
            <GridSplitter Grid.Row="0"
                          Grid.RowSpan="2"
                          Grid.Column="1"
                          Width="1"
                          Background="Green"
                          ResizeBehavior="PreviousAndNext"
                          ResizeDirection="Columns" />
        <Button Grid.Column="2"
                Grid.ColumnSpan="2"
                Content="2 Columns" />
        <Button Grid.Row="1"
                Grid.Column="2"
                Content="1,2" />
        <Button Grid.Row="1"
                Grid.Column="3"
                Content="1,3" />
    </Grid>
</Window>

TextBlock.FontSize不是附加属性,它只是常规的依赖项属性。 MSDN文档非常擅长列出控件的附加属性,而FontSize 不是其中之一 (它甚至没有任何属性)。

但是,它是一个可继承的属性。 查看它的依赖项属性信息 ,您将看到它继承其值。 这允许我们做的是在祖先中设置属性的值,并且只要它们未明确将值设置为其他值,所有依赖此属性的后代控件都将继承相同的值。

它所适用的控件不必由您显式实例化,它也适用于样式,模板,内容演示者等。因此,在您的情况下,按钮的内容是文本,因此用于显示该文本的TextBlocks将也继承字体大小。

有关更多信息,请参见属性值继承

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM