Cómo Textbox interactúa con el objeto TextElement

0

Pregunta

Me puede escribir como este

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

Y puedo escribir como este

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

Pero no entiendo cómo el cuadro de texto interracts con objeto TExtElement. Por ejemplo TExtBlock tiene elementos incorporados a la propiedad. Y MSDN dice lo siguiente "PasswordBox, RichEditBox y TextBox no apoyo a un modelo de objetos de texto que se basa en TextElement." Quién sabe cómo funciona?!

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

Mejor respuesta

-1

Cuadro de texto.Fontweight hereda de Control.Fontweight, cuyo Valor es de Tipo de Sistema.Windows.Fontweight

TextElement.FontWeight es también de Tipo de Sistema.Windows.FontWeight. Se hace referencia a esta proposición a través de un Estilo de setter, de modo que usted puede tener acceso a la Propiedad de la otra Clase (siempre coincidan con los tipos)

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

También son válidas.

Por qué esto funciona, ver más abajo en Comentarios.

2021-11-23 15:09:44

"también es de Tipo" no es la razón por la que el Estilo de las obras. Sólo porque dos propiedades son del mismo tipo no significa que usted puede ajustar mediante el establecimiento de los otros. La razón real es public static readonly DependencyProperty FontWeightProperty = TextElement.FontWeightProperty.AddOwner(...); en el Control.cs. Ver el Origen de la Referencia.
Clemens

En otros idiomas

Esta página está en otros idiomas

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