我正在开发Windows Phone应用程序(基于XAML / C#)。
所以我有一个ComboBox
控件包含Items
作为数据库中的字符串。
我注意到当有更多项目时,ComboBox在整个设备屏幕上伸展自己就可以了,但问题是当项目字符串太长时
它被切断了。
所以可能有问题是如何将字符串传输到下一行,并且该项目保持整体(2行中的1项)。
我的第二个问题是如何在项目之间添加行分隔符?
这是我的XAML ComboBox代码:
<ComboBox
x:Name="ComboBox"
HorizontalAlignment="Right"
Margin="0,49,0,0"
VerticalAlignment="Top"
Width="193"
PlaceholderText="Choose"
SelectionChanged="comboBox_SelectionChanged"/>
我正在添加这样的项目:
for (int i = 0; i < items.Count; i++)
{
if (!ComboBox.Items.Contains(item[i].item_name))
{
ComboBox.Items.Add(item[i].item_name);
}
}
答案 0 :(得分:1)
您必须使用TextBlock
它有一个名为TextWrapping
的属性。但要使用它,您必须定义ComboBox.ItemTemplate
。
<ComboBox
x:Name="ComboBox"
HorizontalAlignment="Right"
Margin="0,49,0,0"
VerticalAlignment="Top"
Width="193"
PlaceholderText="Choose"
SelectionChanged="comboBox_SelectionChanged">
<!-- Template Start -->
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock
Text="{item_name}"
TextWrapping="Wrap" /> <!-- it will wrap the text -->
</DataTemplate>
</ComboBox.ItemTemplate>
<!-- Template End -->
</ComboBox>