WPF边框属性无法正常工作

The*_*boy 1 c# wpf

我正在使用拖放功能的应用程序.当我将某些项目拖到其他项目上时,我想通过动态设置项目的border属性来显示它们是朝向顶部还是底部(与xaml中相反).

我已经研究了这个,并使用了一些例子,但它们都没有用.以下是在Grid项目上执行拖动操作时调用的代码.

 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;
    }
Run Code Online (Sandbox Code Playgroud)

上面的代码只是测试代码,以便我可以看到边框正在显示.一旦我能够得到这个,那么我将在不同的时间设置顶部或底部边框,具体取决于它们是在网格项的中心之上还是之下.

Ree*_*sey 5

您正在设置边框的子项,但边框本身需要添加到某个容器中才能使其可见.

话虽这么说,你可能想看看Adorners.它们专为此场景而设计,不需要在运行时更改UI的可视层次结构.