Silverlight 怎么给自己的控件加继承?

假设我有以下文件Wolf.xamlWolf.xaml.csTiger.xamlTiger.xaml.csHorse.xamlHorse.xaml.cs这些空间都有void... 假设我有以下文件
Wolf.xaml
Wolf.xaml.cs
Tiger.xaml
Tiger.xaml.cs
Horse.xaml
Horse.xaml.cs

这些空间都有 void Eat() void Run() 等过程属性,
我希望减少代码量,将这些过程属性统一放到 Animal.cs 中。

自己实验的过程中出现很多错误和警告,例如
“未将对象引用设置到对象的实例。”
InitializeComponent() 这个部分的处理
还有 g.cs 的各种问题

等等,总之对于 XAML 比起普通的控制台程序麻烦许多,
不知道各位是否有在 UserControl 加继承的经验?
展开
 我来答
rightmin
2010-01-14 · TA获得超过4124个赞
知道大有可为答主
回答量:2199
采纳率:0%
帮助的人:1805万
展开全部
对于一个控件来说,分成2个部分,第一部分是.CS,另一个.xaml。这两个分别继承:

如果父控件只有自定义的方法,没有样式的话,只需要写一个类继承于UserControl,不需要有.xmal文件。

//父类
public class Father: UserControl
{
//你的方法
}
//子类
.cs文件
public class Child: Father
{

}
.xmal文件
<location:Father
//其他的系统命名空间,略
xmlns:location="clr-namespace:父类的命名空间" //父类的命名空间
x:Class="子类的命名空间.Child" >//子类的命名空间+类名(和CS文件定义保持一致)
//你的xaml内容
</location:Father>

如果你新建一个自定义控件,它就是继承于UserControl,现在只不过换成你自己的类而已,你要做的唯一一件事就是引入父类的命名空间!
谦卑又顽强丶画眉鸟b25
2010-01-14 · TA获得超过114个赞
知道答主
回答量:211
采纳率:0%
帮助的人:99.6万
展开全部
上面的朋友 是面向对象的正确方法 。但是silverlight里面好像有个什么G.CS里面只要你一改 他又换成了 UserControl 替换了你自己的继承类 貌似有点麻烦 要改来改去 如果可以的话 你可以单独创建一个类 或者以传参的方式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式