如何在WP中制作这样的横向下拉菜单

时间:2014-11-03 14:33:41

标签: windows-phone-8

enter image description here

我需要在下拉菜单中显示项目。我该怎么做?

1 个答案:

答案 0 :(得分:1)

您可能需要自己构建控件。您可以创建一个由<Button><ListBox>组成的复合控件来模拟您要执行的操作。这实际上非常简单。

例如:

<Button Content="{Binding SelectedItem.Song, FallbackValue=Show List, ElementName=myListBox}" Height="100" Click="Button_Click"></Button>
<ListBox x:Name="myListBox" Height="60" Visibility="Collapsed">
    <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel Orientation="Horizontal"/>
        </ItemsPanelTemplate>
    </ListBox.ItemsPanel>
    <ListBox.ItemTemplate>
        <DataTemplate>
            <Border BorderBrush="Red" BorderThickness="1" Height="50" Padding="15,0">
                <TextBlock VerticalAlignment="Center">
                    <Run Text="{Binding Song}"></Run>
                </TextBlock>
            </Border>
        </DataTemplate>
    </ListBox.ItemTemplate>                
</ListBox>

我在这里做了一个按钮,其Content Binding到ListBox的SelectedItem,它有.Song属性,如果没有被选中,它会回到“显示列表”

当用户点击按钮时,它应隐藏/显示列表框,具体取决于其当前的可见性。

private void Button_Click(object sender, RoutedEventArgs e)
{
    if (this.myListBox.Visibility == System.Windows.Visibility.Collapsed)
    {
        this.myListBox.Visibility = System.Windows.Visibility.Visible;
    }
    else
        this.myListBox.Visibility = System.Windows.Visibility.Collapsed;
}

你的工作是将所有这些包装在一个漂亮的UserControl中,或者你可以按原样使用它。

以下是其中的一些截图:

enter image description here