【发布时间】:2013-03-04 17:26:19
【问题描述】:
在商店应用程序中进行了一些代码更改后,我遇到了编译错误:
-> System.Void 不能在 C# 中使用 -- 使用 typeof(void) 来获取 void 类型对象。
问题是:这来自一个生成的文件:XamlTypeInfo.g.cs。
case "System.Void"
userType= new ... ,typeof(global::System.Void), ...
...
回滚更改没有帮助,如删除 bin 和 obj、重新启动等。
实际的 System.Void 案例条目是否可能表明代码生成器无法识别 XAML 文件中的某些内容?有效的 XamlTypeInfo.g.cs 中是否有 System.Void 条目?
--- 添加 --- 我现在可以在更改特定行时产生编译错误。我有一个从 ItemsControl 派生的自定义控件。我定义了一个正常工作的常规 DP。我还为 Template、TemplateSelector 和 Style 提供 AttachedProperties。想想一个通过 AttachedProperty 获取标签的文本框,它不仅是一个字符串,而且像 HeaderedControls 一样,您可以为标签定义一个模板等。
问题与 AttachedProp 的 Get/Set 方法有关。当我将 Getter 返回类型更改为 DataTemplate 或完全注释掉 Setter 时,就会出现编译错误:
public static DataTemplate GetLabelTEmplate(UIElement element)
{
return (DataTemplate)element.GetValue(LabelTemplateProperty;
}
public static void SetLabelTemplate(UIElement element, object value)
{
element.SetValue(LabelTemplateProperty, value);
}
任何想法都将受到高度赞赏。
最好的问候 去吧
【问题讨论】:
-
您能否发布与此附加属性关联的 XAML?
-
目前还没有使用这些属性的 XAML。只是控件,它不会编译。有趣的是,一位同事使用来自另一个分支的相同项目来手动添加这些 AP 并进行编译。 XamlTypeInfo 已正确生成。我会尝试创建一个新项目并将其转移过来,看看它是否有效。
-
我刚刚在 connect.microsoft 提交了带有附件的错误报告:connect.microsoft.com/VisualStudio/feedback/details/779775/… 让我们看看他们对此有何看法。
标签: windows-store-apps winrt-xaml