Silverlight 设置Popup.Child导致HRESULT E_失败

Silverlight 设置Popup.Child导致HRESULT E_失败,silverlight,silverlight-4.0,Silverlight,Silverlight 4.0,我正在尝试为密码箱实现一个装饰器,以添加水印功能。我是基于在的项目。我已经让水印实现在沙盒应用程序中工作,但是当我尝试将其添加到类库时遇到了问题 当设置\u Popup.Child的行被执行时,我得到一个异常“Error HRESULT E\u FAIL已从对COM组件的调用返回”。是否有解决方案(或者可能有一种完全不同的方法来解决密码箱的水印问题) 您是否能够找出导致此COM错误的原因?你有什么建议或措施来修复它吗?我没有。据我所知,在Silverlight中设置弹出窗口的子对象时存在一些零星

我正在尝试为
密码箱
实现一个装饰器,以添加水印功能。我是基于在的项目。我已经让水印实现在沙盒应用程序中工作,但是当我尝试将其添加到类库时遇到了问题

当设置
\u Popup.Child
的行被执行时,我得到一个异常“Error HRESULT E\u FAIL已从对COM组件的调用返回”。是否有解决方案(或者可能有一种完全不同的方法来解决
密码箱的水印问题)


您是否能够找出导致此COM错误的原因?你有什么建议或措施来修复它吗?我没有。据我所知,在Silverlight中设置弹出窗口的子对象时存在一些零星的问题。我所做的(以及建议做的)是编写您自己的带水印的密码框,而不是尝试添加装饰程序。删除defaultstylekey行修复了我的问题。您是否能够找出导致此COM错误的原因?你有什么建议或措施来修复它吗?我没有。据我所知,在Silverlight中设置弹出窗口的子对象时存在一些零星的问题。我所做的(以及建议做的)是编写您自己的带水印的密码框,而不是尝试添加装饰程序。删除defaultstylekey行修复了我的问题。
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;
    }