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;
}
}
}
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
Cela a été répondu ici: http: //stackoverflow.com/questions/1425255/wpf-how-combobox-knows-when-to-close-the-drop-down-menu – Semyazas
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