2014-11-03 74 views

回答

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> 

我在這裏所做的編程綁定到ListBox的的SelectedItem擁有。宋物業公司Content一個按鈕,如果選擇沒有它退到「顯示列表「

當用戶點擊按鈕時,它應該根據當前的可見性來隱藏/顯示列表框。

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; 
} 

你的工作是包裝這一切都取決於一個很好的用戶控件內部或者你可以把它當作是。

下面是它的一些截圖在行動:

enter image description here