Jak pole tekstowe współpracuje z elementem TextElement

0

Pytanie

Mogę napisać tak

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

I mogę napisać tak

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

Ale ja nie rozumiem, jak TextBox współdziała z TextElement. Na przykład, TextBlock ma właściwość Inlines. I MSDN mówi następujący: "PasswordBox, RichEditBox i TextBox nie obsługują model obiektów tekstowych, opierającą się na TextElement". Kto wie, jak to działa?!

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

Najlepsza odpowiedź

-1

Pole tekstowe.Waga czcionki jest dziedziczona z elementu sterowania.Waga czcionki, których wartość jest typu System.Windows.Waga czcionki

Element tekstu.Waga czcionki odnosi się również do systemu typów.Windows.Wagę czcionki. Odnoszą się do tego wsparcie przez zadajnik stylów, więc można również uzyskać dostęp do właściwości przez inną klasę (jeśli typy się pokrywają).

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

Również są ważne.

Dlaczego to działa, patrz poniżej w komentarzu.

2021-11-23 15:09:44

"także ten utrzymany jest raczej wto nie powód, dla którego pracuje Styl. To, że dwie właściwości mają jeden i ten sam typ, nie oznacza, że można ustawić jedno, zaznaczając więcej. Rzeczywista przyczyna jest public static readonly DependencyProperty FontWeightProperty = TextElement.FontWeightProperty.AddOwner(...); pod kontrolą.cs. Cm. Pomocy źródło.
Clemens

W innych językach

Ta strona jest w innych językach

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