【问题标题】:How to make a custom control and component for Metro development?如何为 Metro 开发制作自定义控件和组件?
【发布时间】:2012-03-13 01:04:50
【问题描述】:

我想领先一步,开始为 Metro (Win8) 制作一些自定义 C# 控件和组件,但我找不到任何关于如何开始的文档或博客文章,或者即使它可能是正确的现在。

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

【问题讨论】:

标签: c# components controls windows-runtime microsoft-metro


【解决方案1】:

现在……非常困难。没有办法为控件覆盖 OnRender 等,即创建代码以呈现具有自定义外观的控件。但是,您可以创建自定义模板。您可以在模板中执行的任何操作都是合法的,这就是您必须使用自定义控件的方式。

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

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

【讨论】:

  • 谢谢;关于组件,您知道我是否仅限于类库,还是有某种方法可以制作实际的组件(设计器/工具箱支持)?
  • 您可以获得对组件的 Expression Blend 支持;它们的包装方式不同,但那里有东西。基本上选择 Win8 MetaData 格式作为构建目标。
  • 您能详细解释一下如何制作自定义模板吗?我在 Win8 DP VS11 Express 新项目对话框中看不到任何类似的项目类型,或任何输出类型。
  • 我的意思是在 XAML 标记中;它不是一个项目类型。我从 WPF 中了解到,可以通过编辑控件的模板来调整很多内容,尽管仍然缺少 Win8 文档。
  • 感谢您的帮助;我想我现在将我的工作限制在组件上。有什么方法可以让组件显示在 Metro 的工具箱中?
猜你喜欢
  • 2010-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-03
  • 2012-02-15
  • 1970-01-01
相关资源
最近更新 更多