在我的应用程序中,我有几个(!)(换行)面板,其中包含小缩略图(Image
)(动态生成缩略图,因此没有xaml)。我希望显示哪个缩略图我选择"通过绘制"发光"边界。
要做到这一点,我去写了一个" selectElement
"功能:
private void SelectElement(FrameworkElement elem)
{
if (elem == _selectedElement) return;
_selectedElement = elem;
var parentPanel = _selectionBorder?.Parent as Panel;
if (parentPanel != null)
{
parentPanel.Children.Remove(_selectionBorder);
}
_selectionBorder = null;
if (_selectedElement == null) return;
_selectionBorder = new Border
{
BorderThickness = new Thickness(10),
BorderBrush = Brushes.Black
};
var p = _selectedElement.Parent as Panel;
if (p == null) return;
p.Children.Add(_selectionBorder);
var m = _selectedElement.Margin;
_selectionBorder.Margin = m;
}
将从MouseDown
的{{1}}事件调用;
现在的问题是:即使我将边框的边距设置为与元素相同,也会在所有元素之后添加边框。是否有可能绕过"绕过"此边框的默认wrappanel行为? - 或者是否可以在我的缩略图Image
"周围画一个"边框? - 没有实际增加图像的大小("半透明边框"应该与图像混合到两侧)。