Jak Textové pole interaguje s TextElement

0

Otázka

Můžu napsat takhle

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

A můžu napsat takhle

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

Ale nechápu, jak TextBox interracts s TExtElement. Například TExtBlock má Inlines majetku. A MSDN říká následující "PasswordBox, RichEditBox a Textové pole nepodporují textu objektový model, který je založen na TextElement." Kdo ví, jak to funguje?!

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

Nejlepší odpověď

-1

Textové pole.Tloušťkapísma dědí z Control.Tloušťkapísma, jehož Hodnota je Typu Systému.Systém Windows.Tloušťkapísma

TextElement.Tloušťkapísma je také Typu Systému.Systém Windows.Tloušťkapísma. Ty odkazují na tento prop přes Styl setr, takže můžete získat přístup k Nemovitosti přes jinou Třídu, stejně (jak dlouho typů 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>

Jsou také platné.

Proč to tak funguje, viz níže v Komentáři.

2021-11-23 15:09:44

"je také Typu" není důvod, proč se Styl práce. Jen proto, že dvě vlastnosti jsou stejného typu, neznamená, že si můžete nastavit jednu nastavením ostatních. Skutečný důvod, proč je public static readonly DependencyProperty FontWeightProperty = TextElement.FontWeightProperty.AddOwner(...); v Ovládání.uo. Viz Referenční Zdroj.
Clemens

V jiných jazycích

Tato stránka je v jiných jazycích

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