从xaml wp8创建c#类的实例

时间:2015-09-12 05:43:06

标签: c# xaml windows-phone-8

假设我想创建一个具有Image和2 ImageSource属性的ImageButton类,然后在.xaml文件中创建ImageButton实例,以便我可以根据我想要的布局放置它。

我已经尝试在任何类之外的正确项目命名空间中创建类,使用空参数声明构造函数,然后在xaml中添加

xmlns:local="clr-namespace:projectNameSpace"
...
<m:ImageButton></ImageButton>

它没有用,然后尝试了其他代码,

xmlns:m="clr-namespace:projectNameSpace"
...
<m:ImageButton></ImageButton>

但据说 无法分配到集合,期望类型UIElement和类型&#34; ImageButton&#34;不包含任何可访问的构造函数

有没有办法引用c#类并在wp8 xaml中创建一个实例?还是不可能?

1 个答案:

答案 0 :(得分:1)

如果您希望您的类成为UI的一部分,则需要从UIElement类的一个子类派生(基本上,任何控件)

根据MSDN,UIElement类不应该直接继承:

  

UIElement不公开公共构造函数   通常,您不直接从UIElement或FrameworkElement派生类。更常用的派生自定义类的基类是这些类:
   - 未密封的特定控件(例如,TextBox)
   - 控制基类(Control,ContentControl,UserControl)
   - 导航元素(页面,框架)
   - 面板类(基类Panel,或特定的非密封实现,如Grid)

在你的情况下,我猜一个Button是最适合继承的类。

此外,如果你想创建一个自定义控件,你需要记住一个视觉方面 - 扩展基本控件的模板可能是一个很好的起点。