Silverlight 自定义控件的继承问题2

继承用户写的UserControl, ChildWindow, Page时(有xaml的那种)时,,编译通过,但执行时,总会构造里的InitializeComponent();总是会报异常:

 

----------

AG_E_PARSER_BAD_PROPERTY_VALUE [Line: 24 Position: 87]
   --- Inner Exception ---
给定关键字不在字典中。

 

----------

花了很久,再试出来, 原来是基类里的xaml中,只要含有事件,就会出这样的异常,解决办法有二种.

 

一.

把事件从xaml中删除,在构造里,通过代码的形式添加上去.

 

二.

把基类里的事件方法copy 一份到子类里

 

异常的例子:

一个silverlight的Page 基类, 叫 CommonPage, 代码如下

xaml:

<controls:ChildWindow x:Class="Demo.CommonForm" ...

 

<StackPanel x:Name="Save" MouseLeftButtonDown="Save_MouseLeftButtonDown" />

...

 

</controls:ChildWindow>

 

----------

一个CommonPage的子类 MyPage

xaml :

<MyPage:Mypage

x:Class="MyPage.Pages.MyPage"

xmlns:MyPage="clr-namespace:MyPage.Pages"

....

 

</MyPage:Mypage>

 

cs :

 

namespace MyPage
{
    public partial class MyPage: CommonPage
    {

             public MyPage()

             {

                     InitializeComponent();  // 报异常

             }

    }

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值