我尝试在ListBox上创建多行行。
所以,我读了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,因为我需要编辑行。 所以,我想如果文本行非常大 - 它包含多个文件。
并且Scroll没有消失(但应该是)。
你能告诉我,怎么做?
P.S。似乎Scroll没有被丢弃,因为它来自另一个Grid。
答案 0 :(得分:1)
根据要求,我的评论作为答案:
当水平滚动条足够长以至于应该包裹时,它是否会出现?由于内容可以在ScrollViewer中按需要扩展,因此不会发生包装。包装是次要的控制填充所有水平空间,因此允许它滚动允许它消耗无限空间。
环境:
getNumericCellValue()
包含文本框(ListBox)的控件中的应该可以防止此行为。