c# - UWP 中是否有替代 TemplatePartAttribute 的方法?

标签 c# xaml windows-store-apps uwp

我花了一些时间才发现这一点,但设计师特有的属性,如 TemplatePart现在导致我的 UWP 应用程序的发布版本出现问题。

将此属性应用于您的控件是使用反射。

[TemplatePart(Name = PART_Panel, Type = typeof(Panel))]
public class MyAwesomeControl : Control
{
   ...
}

构建输出给了我这个:

warning : Type 'Windows.UI.Xaml.Controls.Panel' was not included in compilation, but was referenced in type 'MyAwesomeControl'. There may have been a missing assembly.

如果你想让构建工作,我必须排除那个属性。然而,这违背了控件库的目的。我图书馆的用户不会知道 Panel用名字PART_Panel在 MyAwesomeControl 的模板中是必需的。

有解决办法吗?我是否必须为该类型启用反射才能允许设计时属性通过?

我知道 rd.xml可以嵌入到项目中的文件。但是,如果 <Type Name="Windows.UI.Xaml.Controls.Panel" ... />包含在内,这是否意味着我要告诉编译器从 .Net Native 优化中排除该面板?

最佳答案

这是您正在运行的 .Net Native 工具 (ilc.exe) 版本中的一个不幸错误。自 Visual Studio 的 Update 1 版本起,此属性得到正确支持。您可以在此处获取 RC:https://www.visualstudio.com/en-us/news/vs2015-update1-vs.aspx

如果您无法使用旧工具,您可以安全地忽略该警告。

关于c# - UWP 中是否有替代 TemplatePartAttribute 的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32859282/

相关文章:

c# - 在方法中混合 params 和 nameof 来检查空值

c# - System.Data.SqlClient.SqlDataReader 不包含 'open' 的定义

c# - 如何在 UWP 中为集合类型定义 `DependencyProperty`?

c# - Windows 应用商店应用程序中的单词发音 (Windows 8 Metro)

windows-8 - 如何在 Windows 应用商店应用程序中复制文件夹

c# - Pex 能否自动发现类型溢出/下溢情况?

c# - 添加 OxyPlot PointAnnotation

c# - 获取 Canvas 背景的画笔控件的实际大小

python-3.x - Windows Gitbash 上的权限被拒绝错误 : Python 3. 8

c# - 在内部链接和 HTML 链接的 OneNote Id 之间进行转换?