开发者

Make the WPF Combobox popup stay always open, make disappear with mouse click on "x"

开发者 https://www.devze.com 2023-01-19 08:45 出处:网络
I have a WPF Combobox with a ListView + \"X\"-Button in the Popup-DropDown. I 开发者_StackOverflowam showing search results in that listview.

I have a WPF Combobox with a ListView + "X"-Button in the Popup-DropDown. I 开发者_StackOverflowam showing search results in that listview.

How can I make the popup close ONLY when the user clicks my "X"-Button in the popup?


You will probably have to write a custom control template for a permanently open listbox, or change the default one to behave like this. Inside the control template you have to set the StaysOpen property of the Popup to true and make your button switch that value

Short example

<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

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号