在一个page页面上添加一个半透明的遮罩层,遮罩层里显示一个用户控件。 效果就是微信的winows版的搜索功能。
这里要借助AdornerLayer实现弹出遮罩层,半透效果在用户控件中定义。
1、首先自定义一个用户控件。这里就不描述了。怎么制作半透明的控件和窗体,请参照我的另外一个博文:
2、然后定义一个类,继承Adorner。
代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Documents;
using System.Windows.Media;
using Doit.Chat.Views.Control.SearchResultControl;
namespace Doit.Chat.Views.Adorners {
public class SearchAdorner: Adorner {
private SearchResultControl searchResultControl;
private VisualCollection visualCollection;
public SearchResultControl ResultControl {
get {
return searchResultControl;
}
}
public SearchAdorner(UIElement adornedElement) : base(adornedElement) {
visualColl