其他分享
首页 > 其他分享> > CodeGo.net>在UWP中有TemplatePartAttribute的替代品吗?

CodeGo.net>在UWP中有TemplatePartAttribute的替代品吗?

作者:互联网

我花了一些时间来发现这一点,但是特定于设计器的属性(例如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.

如果您希望构建工作,则必须排除该属性.但是,这违背了控制库的目的.我的图书馆的用户不会知道MyAwesomeControl模板中需要使用名称为PART_Panel的面板.

有针对这个的解决方法吗?我是否必须仅允许设计时属性通过而对该类型启用反射?

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

解决方法:

这是您正在运行的.Net本机工具版本(ilc.exe)中的不幸错误.从Visual Studio Update 1版本开始,此属性已得到正确支持.您可以在这里获得RC:https://www.visualstudio.com/en-us/news/vs2015-update1-vs.aspx

如果您使用较旧的工具,可以放心地忽略该警告.

标签:uwp,windows-store-apps,xaml,c
来源: https://codeday.me/bug/20191027/1947595.html