L'ajout d'une ligne dans un textblock par programmation
Je sais comment ajouter un contrôle à la toile/grille/mise en page en appelant simplement canvas.Childern.Add()
. Cependant, lorsque je veux intégrer quelque chose à l'intérieur d'un textblock, je n'arrive pas à trouver la méthode pour cela. Un textblock ne contient pas un Add
méthode ou quoi que ce soit, donc je suis un peu perdu.
Le XAML, je suis en train de tourner en C# est:
<TextBlock x:Name="textBlock">
<Line X1="0" Y1="0" X2="100" Y2="0" Stroke="Black" StrokeThickness="4" x:Name="line1"/>
<TextBlock Text="Hello there!" VerticalAlignment="Center" HorizontalAlignment="Center" x:Name="innerTextBlock" />
<Line X1="0" Y1="0" X2="100" Y2="0" Stroke="Black" StrokeThickness="4" x:Name="line2"/>
</TextBlock>
EDIT: je pense que la meilleure façon de le faire (en plus de la réponse) est tout simplement de créer un Utilisateur WPF de contrôle et de référence.
OriginalL'auteur Dominic K | 2010-08-22
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser la propriété inlines (comme indiqué précédemment) afin de reproduire votre xaml, il suffit d'exécuter la commande suivante (où LayoutRoot est le nom de votre parent de contrôle):
InitializeComponent();
qui a fait échouer.OriginalL'auteur tchrikch
Je Crois que si vous disposez de plusieurs lignes, vous devez utiliser la propriété Inlines qui est une collection qui contient une liste des éléments inline. Vous ne pouvez pas ajouter du texte, vous devez l'ajouter à un objet en ligne - comme une course.
t.Inlines.Add(line);
où t est un textblock et ligne est une ligne. Puis je l'ai ajouté à la toile, mais jette un TargetInvocationError.Je ne suis pas devant mon ordinateur, je vais jeter un oeil quand j'arrive à! C'est comme une course ou une Chaîne de caractères? Il devrait être une course ou quelque chose d'autre qui hérite de Inline je pense.
Eh bien, autant que je sache, Exécutez seulement prend en charge le texte, ce qui n'est pas ce que je cherche ici.
comme je l'ai dit quelque chose qui hérite de Inline... j'ai été à l'aide d'un exemple simple.
OriginalL'auteur Michael Baldry