2011-01-27 35 views
1

我正在使用使用拖放功能的应用程序。当我将某些物品拖放到其他物品上时,我想通过动态地设置物品的边框属性(与xaml中的相反)来显示它们是朝向物品的顶部还是物品的底部。WPF边框属性无法正常工作

我已经研究了这个,并使用了例子,但是他们都没有工作。这是我在通过Grid Item执行拖动操作时调用的代码。

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; 
    } 

上面的代码只是测试代码,所以我可以看到边框显示。一旦我可以得到这个,然后我会在不同的时间设置顶部或底部的边界,这取决于它们是高于还是低于网格物体的中心。

回答

5

您正在设置边框的小孩,但边框本身需要添加到某个容器才能看到。

这就是说,你可能想看看Adorners。它们专门用于此场景,并且不需要在运行时更改UI的可视层次结构。