使WPF Combobox弹出窗口保持打开状态,用鼠标点击“x”使其消失

时间:2010-10-11 20:24:32

标签: wpf combobox popup

我在Popup-DropDown中有一个带有ListView +“X”-Button的WPF Combobox。我在列表视图中显示搜索结果。

当用户在弹出窗口中单击“X”-Button时,如何才能使弹出窗口关闭?

1 个答案:

答案 0 :(得分:0)

您可能必须为永久打开的列表框编写自定义控件模板,或者将默认控件模板更改为此类行为。在控件模板中,您必须将Popup的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;
    }


}

}