WPF边框属性无法正常工作

时间:2011-01-27 16:46:40

标签: c# wpf

我正在使用拖放功能的应用程序。当我将某些项目拖到其他项目上时,我想通过动态设置项目的边框属性来显示它们是朝向顶部还是项目的底部(与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;
    }

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

1 个答案:

答案 0 :(得分:5)

您正在设置边框的子项,但边框本身需要添加到某个容器中才能显示。

话虽如此,你可能想看看Adorners。它们专为这种情况而设计,不需要在运行时更改UI的可视层次结构。