я использовал один и тот же фрагмент кода для нескольких версий моего приложения без проблем, но я теперь таинственно получать NullRerefenceException
сек следующий:GetAdornerLayer таинственно возвращение нулевой
this.Loaded += delegate {
deleteBrush = new DeleteBrushAdorner(background);
AdornerLayer al = AdornerLayer.GetAdornerLayer(background);
al.Add(deleteBrush); // null ref here??
};
background
просто a Border
элемент.
Мои две мысли о том, что может быть причиной этого: a) переход на .NET 4.0 и b) размещение экземпляров вышеуказанного элемента (который является UserControl
) в ItemsControl
.
Как ни странно, этого не происходит постоянно, и это трудно предсказать, когда это произойдет, поэтому оно не является надежным.
То же самое происходит, если я использую 'AdornerDecorator' вместо' Border', хотя я теперь вижу согласно MSDN это «Обеспечивает Adorner слой для элементов * под * его в визуальном дереве.» Позвольте мне попробовать обернуть границу в AdornerLayer ... – devios1
Пока все хорошо, на самом деле. Извините за немой вопрос: $ – devios1