Установка Popup.Child, приводящая к HRESULT E_FAIL - PullRequest
2 голосов
/ 18 сентября 2010

Я пытаюсь создать рекламное объявление для PasswordBox, чтобы добавить функцию водяного знака.Я основываю его на проекте на http://sladorner.codeplex.com/. Я получил реализацию водяного знака, работающую в приложении для песочницы, но у меня возникают проблемы, когда я пытаюсь добавить это в библиотеку классов.

Когда выполняется строка, которая устанавливает _Popup.Child, я получаю исключение «Ошибка HRESULT E_FAIL возвращена из вызова COM-компонента».Есть ли решение для этого (или, может быть, совершенно другой способ обойти водяной знак PasswordBox)?

public class PasswordBoxWatermarkAdorner : Control
{
    private Border _ContentBorder;
    private TextBlock _WatermarkTextBlock;
    private PasswordBox _AssociatedElement;
    private Popup _Popup;
    private string _WatermarkText;

    public PasswordBoxWatermarkAdorner(PasswordBox associatedElement, string watermarkText)
    {
        this.DefaultStyleKey = typeof(PasswordBoxWatermarkAdorner);
        _AssociatedElement = associatedElement;
        _WatermarkText = watermarkText;

        _Popup = new Popup
        {
            Child = this,
            IsOpen = true
        };

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