2010-10-11 5 views

Répondre

0

Vous devrez probablement écrire un modèle de contrôle personnalisé pour une liste déroulante ouverte en permanence, ou changer celui par défaut pour qu'il se comporte comme ceci. A l'intérieur du modèle de contrôle, vous devez définir la propriété StaysOpen du Popup vrai et faire votre commutateur bouton valeur à

exemple court

<Window x:Class="WPFComboSample.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="MainWindow" Height="350" Width="525"> 
<Grid> 
    <ComboBox Name="Combo"> 
     <TextBox></TextBox> 
     <Button Name="Close" Width="150" Height="200" Click="Close_Click">Close</Button> 
    </ComboBox> 
</Grid> 

namespace WPFComboSample 
{ 
/// <summary> 
/// Interaktionslogik für MainWindow.xaml> 
/// </summary> 
public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
     InitializeComponent(); 
    } 

    private void Close_Click(object sender, RoutedEventArgs e) 
    { 
     Combo.IsDropDownOpen = false; 
    } 


} 

}

+0

J'ai changé le modèle de contrôle de la popup combobox. Maintenant, le bouton de fermeture apparaît au bas de la fenêtre contextuelle de la Combobox. Mais comment puis-je faire une liaison pour fermer la popup lorsque j'appuie sur le bouton? – Elisabeth

+0

Cela a été répondu ici: http: //stackoverflow.com/questions/1425255/wpf-how-combobox-knows-when-to-close-the-drop-down-menu – Semyazas

+0

1. Il n'y a pas de solution 2. Mon l'exigence est différente. => J'ai un bouton en dessous du Scrollviewer dans le template popup. J'ai besoin de connecter le bouton avec la propriété IsDropDownOpen en quelque sorte ... – Elisabeth

Questions connexes