# WPF AdornerPopup
**Repository Path**: pantaihua/WPF-AdornerPopup
## Basic Information
- **Project Name**: WPF AdornerPopup
- **Description**: WPF 使用Adorner装饰器实现的类似Popup功能
- **Primary Language**: C#
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 3
- **Created**: 2020-12-11
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# WPF AdornerPopup
#### 项目介绍
WPF 使用Adorner装饰器实现的类似Popup功能
#### 使用说明
1. XAML中引用命名空间
xmlns:adPopup="clr-namespace:AdornerPopupCore.Controls;assembly=AdornerPopupCore"
2. 使用
```
// StaysOpen 与 Popup的StaysOpen功能类似
```
#### 实例截图

#### 完整例子
1. XAML
```
```
2. CS
```
public partial class MainWindow : Window
{
private List _dataSource = new List();
public ObservableCollection SearchResults { get; set; } = new ObservableCollection();
public MainWindow()
{
InitializeComponent();
this.DataContext = this;
InitDataSource();
}
private void InitDataSource()
{
Random random = new Random((int)DateTime.Now.Ticks);
for (int i = 0; i < 1000; i++)
{
int num = (int)(random.NextDouble() * 1000);
_dataSource.Add(num.ToString());
}
}
private void btnSearch_Click(object sender, RoutedEventArgs e)
{
SearchResults.Clear();
var result = _dataSource.Where(p => p.IndexOf(tbInput.Text, StringComparison.InvariantCultureIgnoreCase) != -1);
foreach (var item in result)
{
SearchResults.Add(item);
}
adornerPopup.IsOpen = !adornerPopup.IsOpen;
}
}
```