Coins arrondis zone de texte dans WPF
j'ai chercher sur le web pour la zone de texte avec des coins arrondis et de trouver un code xaml comme ci-dessous:
<Style TargetType="{x:Type my1:CustomTextBox}">
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate >
<Border Background="{TemplateBinding Background}" x:Name="Bd"
BorderThickness="2" CornerRadius="5" BorderBrush="#FFF9EAB6">
***<ScrollViewer x:Name="PART_ContentHost" />***
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="Bd" Property="BorderBrush" Value="#FFC7B0B0"/>
</Trigger>
<Trigger Property="IsKeyboardFocused" Value="True">
<Setter TargetName="Bd" Property="BorderBrush" Value="#FFC7B0B0"/>
<Setter Property="Foreground" Value="Black"/>
</Trigger>
<Trigger Property="IsKeyboardFocused" Value="False">
<Setter Property="Foreground" Value="#FFC7B0B0"/>
</Trigger>
<Trigger Property="Width" Value="Auto">
<Setter Property="MinWidth" Value="120"/>
</Trigger>
<Trigger Property="Height" Value="Auto">
<Setter Property="MinHeight" Value="27"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
je veux savoir ce qu'est
<ScrollViewer x:Name="PART_ContentHost" />
en détail, et pourquoi pas fonctionner correctement mon template si supprimez cette ligne de elle,
s'il vous plaît dites-moi complètement en détail.
merci beaucoup.
Vous devez vous connecter pour publier un commentaire.
La partie nommée "PART_ContentHost" contient le contrôle de base, c'est la zone de texte lui-même, outre les ornements. La zone de texte du code-behind, va la chercher, donc si vous renommez de supprimer, le contrôle ne fonctionnent pas.
Dans ce cas, le contenu est scrollable (comme une zone de texte peut faire défiler le texte horizontalement et verticalement).
Si vous avez besoin d'une zone de texte simple avec des coins arrondis, vous pouvez le faire comme ça:
utiliser cette partie de xaml daignez :
La
ScrollViewer
contient le contenu réel de la commande. Votre contrôle n'est pas une véritable zone de texte, mais en fait, une frontière (avec les coins arrondis) entourant un ScrollViewer, dans lequel vous devez placer votre texte. Si vous n'avez pas besoin de défilement, vous pouvez remplacer le ScrollViewer avec une zone de texte, c'est à dire:changement
à
CustomTextBox
classe aussi? Les deux seront nécessaires afin de bien comprendre votre code.