2012-02-22 40 views
0

我希望领先于此包,并开始为Metro(Win8)制作一些自定义C#控件和组件,但我无法找到任何有关如何启动的文档或博客文章,或者即使现在可能。如何为Metro开发制作自定义控件和组件?

地铁控件只是WPF控件吗?我还不是WPF开发人员,创建自定义用户控件看起来很简单,但该项目类型在Windows 8开发人员预览中不存在。那么,WPF自定义用户控件(VS2010)是我应该用来创建Metro控件的项目类型吗?除此之外,我找不到有关如何创建用于WPF/Metro的组件的任何文档;你可以创建一个,还是只是一个不可见的自定义用户控件? (我希望某种类型的组件容器像winforms一样使用;是Metro的组件,现在只有类库,并且不再包含设计器支持?)

+0

[Windows 8本地自定义控件]的可能的重复(http://stackoverflow.com/questions/15281845/windows-8-native-custom-control) – toroveneno 2013-11-09 11:25:01

回答

1

这是......现在非常困难。无法为控件重写OnRender等,也就是创建代码来渲染具有自定义外观的控件。但是,您可以创建自定义模板。您可以在模板中执行的任何操作都是合法的,这就是您必须处理自定义控件的方法。

另一种选择是直接使用光栅(位图)或矢量(Windows.UI.Xaml.Shape?)组件生成用户界面,并像这样构建您的用户界面。的Bleh。

Win8地铁很像WPF,但它不是子集。类似但非常不同。许多WPF控件没有转换到Win8 Metro;相同级别的渲染控制不可用;和一些系统功能(如高级字体渲染)不在那里。所有这些可能会在即将发布的版本中发生变化,但现在看起来微软正试图限制开发人员创建自定义UI控件。

+0

谢谢;并且关于组件,你知道我是否仅限于类库,还是有一些方法可以创建实际的组件(设计器/工具箱支持)? – anonWrkrB 2012-02-22 18:41:15

+0

您可以为您的组件获得Expression Blend支持;他们包装不同,但有东西。基本上选择Win8 MetaData格式作为你的构建目标。 – AndrewS 2012-02-22 21:24:44

+0

你能解释更多关于如何制作自定义模板吗?我没有在Win8 DP VS11 Express新项目对话框或任何输出类型中看到类似的项目类型。 – anonWrkrB 2012-02-24 14:48:27