J'ai une zone de texte dans mon arbre visuel comme suit ..
p>
fenêtre code>
-
grille code>
-
listbox code>
-
itemTemplate code>
-
DataTemplate code>
-
grille code>
-
grille code>
-
textbox code> ... li>
ul> li>
ul> li>
ul> li>
ul> li>
ul> li>
ul> li>
ul> li>
ul>
La zone de texte est définie comme .. p>
<TextBox Height="Auto"
Text="{Binding Path=LyricsForDisplay}"
MinHeight="50"
MaxHeight="400"
Visibility="Visible"
VerticalScrollBarVisibility="Auto"
IsReadOnly="True"
AllowDrop="False"
TextWrapping="WrapWithOverflow">
</TextBox>
5 Réponses :
quelque chose em> doit contenir la largeur horizontale disponible dans les zones de texte, dans ce cas, vous souhaitez arrêter la liste code> code> de la croissance horizontalement indéfiniment:
"La propriété" horizontalscrollbarVisilité "n'a pas été trouvée dans le type" Listbox "."
C'est ScrollViewer.horizontalscrollBarVisibilité code> en fait.
Essayez de définir la propriété
Les travaux suivants:
<ListBox Name="ListBox1" ScrollViewer.HorizontalScrollBarVisibility="Disabled"> <ListBox.ItemTemplate> <DataTemplate> <Grid> <Grid> <TextBox TextWrapping="Wrap"></TextBox> </Grid> </Grid> </DataTemplate> </ListBox.ItemTemplate> </ListBox>
Deux Modifier le code:
1- Ajouter une balise de frontière avec votre grille.column et votre grille.row taille que vous êtes NEADS.
2- Largeur et hauteur de la zone de texte réglée.
Exemple:
Malheureusement, la zone de texte régulière n'autorise pas l'auto-objetsise de s'adapter au parent, mais pas d'auto-objetsiser lorsque le texte ne correspond pas.
Pour résoudre ce problème, vous pouvez utiliser une zone de texte personnalisée qui indique un choix souhaité (0, 0 ) Taille. C'est un piratage laid, mais ça marche. P>
dans votre fichier .xaml.cs: p> puis, dans votre fichier .xaml: p > <Window x:Class="YourNamespace.YourWindow"
...
xmlns:local="clr-namespace:YourNamespace">
...
<local:TextBoxThatDoesntResizeWithText Height="Auto"
Text="{Binding Path=LyricsForDisplay}"
MinHeight="50"
MaxHeight="400"
Visibility="Visible"
VerticalScrollBarVisibility="Auto"
IsReadOnly="True"
AllowDrop="False"
TextWrapping="WrapWithOverflow">
</local:TextBoxThatDoesntResizeWithText>
...
</Window>
C'était la seule chose qui a fonctionné pour moi! Cela ressemble à un comportement qui devrait faire partie du contrôle standard. Cheers, @ajarov m'a sauvé beaucoup de temps à filer mes roues!
M'a aidé aussi! Solution facile, même si un peu "hacky", merci!
Résolu mon problème aussi, après beaucoup de cheveux. Dans les versions récentes de C #, la fonction peut être une doublure: Support de substitution protégé Measeverride (contrainte de taille) => Taille.empty; Code>