Сделайте так, чтобы всплывающее окно WPF Combobox оставалось всегда открытым, чтобы исчезнуть, щелкнув мышью на «х» - PullRequest
0 голосов
/ 12 октября 2010

У меня есть комбинированный ящик WPF с кнопкой ListView + «X» в Popup-DropDown. Я показываю результаты поиска в этом списке.

Как сделать так, чтобы всплывающее окно закрывалось ТОЛЬКО, когда пользователь нажимает мою кнопку "X" во всплывающем окне?

1 Ответ

0 голосов
/ 12 октября 2010

Возможно, вам придется написать собственный шаблон элемента управления для постоянно открытого списка или изменить шаблон по умолчанию, чтобы он вел себя следующим образом.Внутри шаблона элемента управления вы должны установить для свойства StaysOpen всплывающего окна значение true и заставить свою кнопку переключать это значение

Краткое описание

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


}

}

...