从xaml wp8创建c#类实例

本文关键字:实例 创建 xaml wp8 | 更新日期: 2023-09-27 18:12:29

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

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

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

不工作,然后尝试其他代码,

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

,但据说不能赋值给集合,期望的类型UIElement和类型"ImageButton"不包含任何可访问的构造函数

是否有一种方法可以引用c#类并在wp8 xaml中创建实例?还是不可能呢?

从xaml wp8创建c#类实例

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

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

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

在你的情况下,我想Button将是最适合继承的类。

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