簡體   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