我正在开发一个使用拖放功能的应用程序。当我将某些项目拖到其他项目上时,我想通过动态设置它们所覆盖的项目的边框属性(与 xaml 中的相反)来显示它们是朝向项目的顶部还是底部。
我已经对此进行了调查,并使用了示例,但它们都不起作用。这是我的代码,在对网格项执行拖动操作时调用。
private void Grid_DragEnter(object sender, DragEventArgs e)
{
Grid grid = (Grid)sender;
grid.Background = Brushes.Cornsilk;
Border border = new Border();
border.BorderBrush = Brushes.Black;
border.BorderThickness = new Thickness(5, 10, 15, 20);
border.Background = Brushes.Black;
border.Padding = new Thickness(10);
border.Child = grid;
}
上面的代码只是测试代码,所以我可以看到边框正在显示。一旦我能做到这一点,我就会在不同的时间设置顶部或底部边框,具体取决于它们是在网格项目中心的上方还是下方。
最佳答案
您正在设置边框的子级,但边框本身需要添加到某个容器才能使其可见。
话虽这么说,你可能想看看Adorners .它们正是为这种情况而设计的,不需要在运行时更改 UI 的视觉层次结构。
关于c# - WPF 边框属性无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4819220/