BitWaferMap 1.0.6.7
FastWaferPanel 使用说明
FastWaferPanel 是一个高性能的 WPF 自定义控件,用于显示和交互式操作 Wafer / Die Map。
适用于大规模 Die 数据的可视化场景,支持流畅的缩放、平移、选择和颜色管理。
功能特性
- 高性能绘制(DrawingVisual)
- 支持十万级以上 Die 显示
- 鼠标缩放 / 平移
- 单选 / 多选 / 框选
- 右键上下文菜单
- 选中 Die 颜色修改
- Hover 提示
- MVVM 友好(支持绑定)
一、核心概念
1. Die 数据接口(IDieInfo)
所有 Die 数据必须实现 IDieInfo 接口:
public interface IDieInfo
{
int X { get; set; }
int Y { get; set; }
object? Tag { get; set; }
Brush Brush { get; set; }
}
X / Y:Die 的逻辑坐标
Tag:附加信息(如 Bin、测试结果等)
Brush:Die 显示颜色
2. 默认实现(DieInfo)
csharp
复制代码
public class DieInfo : IDieInfo
{
public int X { get; set; }
public int Y { get; set; }
public object? Tag { get; set; }
public Brush Brush { get; set; } = DefaultBrush;
public const double DefaultDieSize = 12;
public static readonly Brush DefaultBrush = Brushes.LightGray;
}
二、基本使用
1. XAML 中使用
xml
复制代码
<local:FastWaferPanel
x:Name="WaferPanel"
Dies="{Binding Dies}"
DieWidth="12"
DieHeight="12" />
推荐 将 Dies 绑定到:
csharp
复制代码
ObservableCollection<IDieInfo>
2. ViewModel 示例
csharp
复制代码
public class MainViewModel
{
public ObservableCollection<IDieInfo> Dies { get; }
= new ObservableCollection<IDieInfo>();
public MainViewModel()
{
for (int x = 0; x < 100; x++)
{
for (int y = 0; y < 100; y++)
{
Dies.Add(new DieInfo
{
X = x,
Y = y,
Tag = $"({x},{y})"
});
}
}
}
}
三、鼠标交互
操作 功能
鼠标滚轮 缩放
鼠标中键拖动 平移
左键单击 选择单个 Die
Ctrl + 左键 多选
左键拖拽 框选
右键 上下文菜单
四、事件说明
1. SelectionChanged
csharp
复制代码
WaferPanel.SelectionChanged += (s, e) =>
{
var selected = e.SelectedDies;
};
2. DieClicked
csharp
复制代码
WaferPanel.DieClicked += (s, die) =>
{
Console.WriteLine($"{die.X}, {die.Y}");
};
3. RequestColorForSelected
csharp
复制代码
WaferPanel.RequestColorForSelected += (s, e) =>
{
WaferPanel.ApplyColorToSelected(Brushes.Red);
};
4. HoverChanged
csharp
复制代码
WaferPanel.HoverChanged += (s, die) =>
{
if (die != null)
{
// hover die
}
};
五、常用 API
csharp
复制代码
WaferPanel.AddDie(die);
WaferPanel.AddDies(dies);
WaferPanel.ApplyColorToSelected(Brushes.Green);
WaferPanel.ResetSelectedToDefault();
WaferPanel.FitToWindow(Dies);
WaferPanel.CenterViewOnDies(Dies);
六、可绑定属性
属性 说明
Dies Die 数据源
SelectedDies 当前选中 Die 集合
SelectedDie 当前选中 Die
DieWidth Die 宽度
DieHeight Die 高度
Mode 面板模式
七、适用场景
Wafer Map / Bin Map
芯片测试结果可视化
大规模二维网格展示
半导体 / 工业 WPF 应用
八、注意事项
推荐使用 ObservableCollection<IDieInfo>
Die 使用逻辑坐标 (X, Y)
颜色修改后需刷新渲染
支持大数据量高性能显示
No packages depend on BitWaferMap.
用于显示和操作晶圆图(Wafer Map)
.NET Framework 4.8
- No dependencies.