Свойство WPF Border не работает правильно - PullRequest
1 голос
/ 27 января 2011

Я работаю над приложением, которое использует функцию перетаскивания.Когда я перетаскиваю определенные элементы поверх других элементов, я хотел бы показать, находятся ли они ближе к вершине или к нижней части элемента, задав свойство border элемента, над которым они динамически (в отличие от 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;
    }

Приведенный выше код является только тестовым кодом, так что я вижу, что отображается границаКак только я смогу это получить, я установлю верхнюю или нижнюю границу в разное время, в зависимости от того, находятся ли они выше или ниже центра элемента сетки.

1 Ответ

5 голосов
/ 27 января 2011

Вы устанавливаете дочерний элемент границы, но сама граница должна быть добавлена ​​к некоторому контейнеру, чтобы он был видимым.

При этом, возможно, вы захотите заглянуть в Adorners.Они предназначены именно для этого сценария и не требуют изменения визуальной иерархии вашего пользовательского интерфейса во время выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...