我在StackPanel的Windows Phone 8.1的XAML中添加了一个ComboBox。在模拟器中运行应用程序时,不会显示下拉功能。如果我将StackPanel限制为高度,例如“70”,仅显示2个第一项。如果我说Height =“Auto”,则会立即显示所有项目。
如何启用下拉功能?
部首:
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
Combobox ..
<StackPanel Grid.Row="4" Width="350" HorizontalAlignment="Left">
<TextBlock x:Name="PlayerListPanel" TextWrapping="Wrap" Text="Select a Player" VerticalAlignment="Center" Margin="2,0,0,0" HorizontalAlignment="Left"/>
<ComboBox Name="StartPlayerComboBox" BorderThickness="1" >
<ComboBoxItem Tag="PLAYER1">Player 1</ComboBoxItem>
<ComboBoxItem Tag="PLAYER2">Player 2</ComboBoxItem>
<ComboBoxItem Tag="PLAYER3">Player 3</ComboBoxItem>
<ComboBoxItem Tag="Dummy1">1</ComboBoxItem>
<ComboBoxItem Tag="Dummy2">2</ComboBoxItem>
<ComboBoxItem Tag="Dummy3">3</ComboBoxItem>
</ComboBox>
</StackPanel>
答案 0 :(得分:2)
尝试LISTPICKER控制..它的功能类似于ComboBox,具有自动调整高度和宽度..
\
在Xaml页面中使用此包含以下命名空间.. ADD windows phone toolkit(click it)
<toolkit:ListPicker>
<toolkit:ListPickerItem Content="A+" />
<toolkit:ListPickerItem Content="B+" />
<toolkit:ListPickerItem Content="O+" />
</toolkit:ListPicker>
如果进一步的信息要求......还原......
答案 1 :(得分:0)
您应该为combobox
正确打开提供足够的高度。如果限制高度,combobox
不能超出范围。因此它只显示几个项目。高度=&#34;自动&#34;意味着它可以采取它所要求的任何高度。因此combobox
将获得正确打开所需的高度。
答案 2 :(得分:0)
Combobox是Windows Phone / Windows RunTime环境的行为与Silverlight / WPF对应部分不同。在这里,我们没有Popup来显示要选择的项目列表。因此,下拉列表需要足够的空间来显示选项。
最好的办法是将高度保留为自动,或将MinWidth保留为任何宽度要求。
答案 3 :(得分:0)
即便如此,除了他们已经说过的话,这已经是一个老问题了;如果要将某个项目选为默认项目,则需要将其“标记”如下:
var tgl = false;
function toggle(item) {
item === true ? item = false : item = true;
return item;
}
document.addEventListener('keydown',function(e){
var key = e.keyCode || e.which;
if(key == 81)
tgl = toggle(tgl);
}
然后,一旦你点击它,你将显示所有其他组合框项目(如果你定义它们):
var tgl = "off";
function toggle(item) {
item === "on" ? item = "off" : item = "on";
return item;
}
document.addEventListener('keydown',function(e){
var key = e.keyCode || e.which;
if(key == 81)
tgl = toggle(tgl);
}
希望它有所帮助。此致