C# 如何为Metro开发定制控件和组件?

C# 如何为Metro开发定制控件和组件?,c#,components,controls,windows-runtime,microsoft-metro,C#,Components,Controls,Windows Runtime,Microsoft Metro,我想先走一步,开始为Metro(Win8)定制一些C#控件和组件,但我找不到任何关于如何启动的文档或博客文章,甚至现在也找不到 metro控件只是WPF控件吗?我还不是WPF开发者;创建自定义用户控件看起来很简单,但该项目类型在Windows8开发人员预览中不存在。那么,WPF自定义用户控件(VS2010)是我创建Metro控件时应该使用的项目类型吗?除此之外,我找不到任何关于如何创建用于WPF/Metro的组件的文档;您可以创建一个,还是只是一个不可见的自定义用户控件?(我希望得到某种类型的组

我想先走一步,开始为Metro(Win8)定制一些C#控件和组件,但我找不到任何关于如何启动的文档或博客文章,甚至现在也找不到


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

它是。。。现在很难。无法覆盖控件的OnRender或类似功能,即创建代码以呈现具有自定义外观的控件。但是,您可以创建自定义模板。您可以在模板中执行的任何操作都是合法的,因此您必须使用自定义控件

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


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

谢谢;关于组件,您知道我是否仅限于类库,或者是否有某种方法可以生成实际的组件(设计器/工具箱支持)?您可以获得组件的表达式混合支持;它们的包装不同,但里面有东西。基本上选择Win8元数据格式作为构建目标。您能解释一下如何创建自定义模板吗?我在Win8 DP VS11 Express新建项目对话框中没有看到任何类似的项目类型,也没有看到任何输出类型;这不是一个项目类型。我从WPF知道,尽管Win8文档仍然缺乏,但通过编辑控件的模板可以调整很多内容;我想现在我将把工作限制在组件上。有没有办法让组件显示在Metro中的工具箱中?可能是