c# - WPF 边框属性无法正常工作

标签 c# wpf

我正在开发一个使用拖放功能的应用程序。当我将某些项目拖到其他项目上时,我想通过动态设置它们所覆盖的项目的边框属性(与 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/

相关文章:

c# - 针对无效字符验证电子邮件地址

c# - Azure Function App Azure 服务总线触发器触发两次

c# - 我可以禁用特定控件的键盘输入吗?

c# - 我可以使用反射访问 ItemsControl 的 ItemsHost 吗?

c# - 自定义 Api 授权忽略 AllowAnonymous

c# - WPF - 组样式 : Can we only bind to the "Name" property?

C# - 将 IEnumerable 转换为 Dictionary<object,string>

c# - ComboBox 强制崩溃(不是我的代码)

c# - 列表中的多个对象,C#

c# - 如何使用 Excel.Interop 将列表中的值填充到 Excel 中的一系列单元格?