Como o Texto interage com TextElement

0

Pergunta

Eu posso escrever assim

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

E eu posso escrever assim

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

Mas eu não entendo como TextBox interracts com TExtElement. Por exemplo TExtBlock tem Inlines propriedade. E MSDN diz o seguinte "PasswordBox, RichEditBox e a caixa de Texto não oferecem suporte a um modelo de objeto do texto com base em TextElement." Quem sabe como ele funciona?!

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

Melhor resposta

-1

Caixa de texto.Fontweight herda de Controle.Fontweight, cujo Valor é do Tipo de Sistema.O Windows.Fontweight

TextElement.FontWeight é também do Tipo de Sistema.O Windows.FontWeight. Você se referir a este prop através de um Estilo de incubação, de modo que você pode acessar a Propriedade sobre a outra Classe também (desde os tipos de correspondência)

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

Também são válidos.

Por que isso funciona, veja abaixo no Comentário.

2021-11-23 15:09:44

"também é do Tipo" não é a razão por que o Estilo de obras. Só porque duas propriedades do mesmo tipo, não significa que você pode definir um por definição o outro. O motivo real é public static readonly DependencyProperty FontWeightProperty = TextElement.FontWeightProperty.AddOwner(...); no Controle.cs. Consulte a Fonte de Referência.
Clemens

Em outros idiomas

Esta página está em outros idiomas

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