我嘗試在ListBox中創建多行。如何在列表框(TextBox項目)上製作多行文本?
所以,我讀this question,使這個XAML:
<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>
但似乎是,這不是爲我工作。 我使用TextBox代替TextBlock,因爲我需要編輯行。 所以,我想如果文本行將非常大,它包裝成多。
和滾動不偶合(但應該是)。
你能告訴我,怎麼做?
P.S.似乎Scroll沒有處理,因爲它來自另一個Grid。
您的XAML似乎正常工作......您確定沒有別的東西(即樣式)不允許您的'TextBox'包裝? –
@IlVic,在上部網格,ScrollViewer.HorizontalScrollBarVisibility =「Auto」,ScrollViewer.CanContentScroll =「True」 –
水平滾動條出現的時間足夠長以至於它應該包裝? (忽略我,注意到你有ScrollViewer.HorizontalScrollBarVisibility =「Disabled」) – Joe