Ich versuche, Multiline-Zeile bei ListBox zu machen.Wie erstellt man mehrzeiligen Text bei ListBox (TextBox Element)?
So las ich this question und dieses XAML machen:
<ListBox Grid.Row="1" x:Name="lbKeyPhrases" BorderBrush="Gray"
ItemsSource="{Binding Templates}"
IsSynchronizedWithCurrentItem="True"
Focusable="True"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ScrollViewer.VerticalScrollBarVisibility="Auto"
HorizontalContentAlignment="Stretch" Grid.ColumnSpan="2"
>
<ListBox.ContextMenu>
<ContextMenu>
<MenuItem Header="Add Word" Click="MenuItem_Click">
<Image Source="/SomeProj.UI.Resources;component/PNGImages/ItemAdd.png"/>
</MenuItem>
</ContextMenu>
</ListBox.ContextMenu>
<ListBox.ItemTemplate>
<DataTemplate>
<DockPanel>
<Border x:Name="brRow" BorderThickness="1" BorderBrush="LightGray"
Background="WhiteSmoke"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<TextBox x:Name="tblbRow"
Text="{Binding Text,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
Tag="{Binding}"
GotFocus="tblbRow_GotFocus"
AcceptsReturn="True"
TextWrapping="Wrap" Margin="2"
Focusable="True"
Background="Transparent"
HorizontalAlignment="Stretch"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
>
<TextBox.ContextMenu>
<ContextMenu>
<MenuItem Header="Remove Word"
Click="MenuItem_Click_RemoveTemplate">
<Image Source="/SomeProj.UI.Resources;component/PNGImages/ItemDel.png"/>
</MenuItem>
</ContextMenu>
</TextBox.ContextMenu>
</TextBox>
</Border>
</DockPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
aber ist scheint, dass nicht für mich arbeiten. Ich benutze TextBox statt TextBlock, weil ich Zeile bearbeiten muss. Also, ich möchte, wenn Textzeile sehr groß sein wird - es umschließt zu multitile.
Und Scroll nicht diposed (aber sollte sein).
Können Sie mir sagen, wie das geht?
P.S. Es scheint, dass Scroll nicht entsorgt wird, weil es von einem anderen Grid stammt.
Ihr XAML scheint ordnungsgemäß zu funktionieren ... Sind Sie sicher, dass es nicht noch etwas anderes (z. B. einen Stil) gibt, das Ihre 'TextBox' nicht umbrechen lässt? –
@IlVic, im oberen Raster, ScrollViewer.HorizontalScrollBarVisibility = "Automatisch", ScrollViewer.CanContentScroll = "True" –
Wird eine horizontale Bildlaufleiste angezeigt, wenn sie lang genug ist, dass sie umbrochen werden soll? (Ignorier mich, habe bemerkt, dass du ScrollViewer.HorizontalScrollBarVisibility = "Disabled" hast) – Joe