Ako Textbox spolupracuje s TextElement

0

Otázka

Môžem napísať ako to

<TextBox FontWeight="ExtraBold">                
</TextBox>

A môžem napísať ako to

<TextBox>
<TextBox.Style>
    <Style>
        <Setter Property="TextElement.FontWeight" Value="ExtraBold"/>
    </Style>
</TextBox.Style>

Ale neviem pochopiť, ako TextBox interracts s TExtElement. Napríklad TExtBlock má Inlines majetku. A MSDN hovorí takto: "PasswordBox, RichEditBox a TextBox nepodporujú textového objektu modelu, ktorý je založený na TextElement." Kto vie, ako to funguje?!

wpf wpf-controls
2021-11-23 12:17:43
1

Najlepšiu odpoveď

-1

TextBox.Fontweight sa dedí z Kontroly.Fontweight, ktorého Hodnota je Typu Systému.Windows.Fontweight

TextElement.FontWeight je tiež Typu Systému.Windows.FontWeight. Odkazujú na tento prop cez Štýl setter, aby ste mali prístup k Nehnuteľnosti cez inej Triedy, ako aj (ako dlho typy zápas)

 <TextBox>
      <TextBox.Style>
        <Style TargetType="TextBox">
          <Setter Property="ComboBox.FontWeight"
                  Value="Black" />
        </Style>
      </TextBox.Style>
    </TextBox>

    <TextBox>
      <TextBox.Style>
        <Style TargetType="TextBox">
          <Setter Property="Control.FontWeight"
                  Value="Black" />
        </Style>
      </TextBox.Style>
    </TextBox>

Tiež sú platné.

Prečo to funguje, nájdete nižšie v Komentári.

2021-11-23 15:09:44

"je tiež Typu" nie je dôvod, prečo Štýl práce. Len preto, že dve vlastnosti sú rovnakého typu, to neznamená, že môžete nastaviť jeden nastavením iné. Skutočný dôvod je public static readonly DependencyProperty FontWeightProperty = TextElement.FontWeightProperty.AddOwner(...); v Ovládacom.cs. Pozri Referenčný Zdroj.
Clemens

V iných jazykoch

Táto stránka je v iných jazykoch

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................