我需要在下拉菜单中显示项目。我该怎么做?
答案 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中,或者你可以按原样使用它。
以下是其中的一些截图: