2013-02-20 35 views
1

一個商店App內一些代碼改變我遇到了一個編譯錯誤後:的WinRT XAML System.Void編譯錯誤

- > System.Void不能從C#中使用 - 使用typeof運算(無效),以獲得void類型的對象。

問題是:這來自生成的文件:XamlTypeInfo.g.cs。

case "System.Void" 
    userType= new ... ,typeof(global::System.Void), ... 
    ... 

回滾的變化並沒有幫助,因爲刪除斌& OBJ,重啓等

是實際System.Void情況下可能進入一個指標,一個XAML文件中的一些無法識別由代碼生成器?在工作XamlTypeInfo.g.cs中是否存在System.Void條目?

--- ADDITION --- 我現在可以在更改特定行時產生編譯錯誤。我有一個派生自ItemsControl的自定義控件。我定義了一個正常工作正常的DP。我還爲Template,TemplateSelector和Style提供了AttachedProperties。想想一個通過AttachedProperty獲取標籤的文本框,它不僅僅是一個字符串,而是像HeaderedControls,你可以爲Lable定義一個模板等。

問題與AttachedProp的Get/Set方法有關。當我要麼改變,吸氣返回類型的DataTemplate或我完全註釋掉二傳手然後編譯錯誤來了:

public static DataTemplate GetLabelTEmplate(UIElement element) 
{ 
    return (DataTemplate)element.GetValue(LabelTemplateProperty; 
} 

public static void SetLabelTemplate(UIElement element, object value) 
{ 
    element.SetValue(LabelTemplateProperty, value); 
} 

任何想法,將不勝感激。

問候 Gope

+0

你可以發佈與此附加屬性關聯的XAML嗎? – 2013-02-20 16:56:24

+0

尚未使用屬性的XAML。只是控制,它不會編譯。雖然一位同事使用另一個分支的同一個項目手動添加這些AP並編譯,但有趣。 XamlTypeInfo生成正確。我會嘗試創建一個新項目並移動它,看看它是否有效。 – Gope 2013-02-21 07:42:01

+0

我剛剛在connect.microsoft上提交了一個附件的錯誤報告:https://connect.microsoft.com/VisualStudio/feedback/details/779775/windows-8-store-apps-attachedproperties-of-referencetypes-results-in -compile-error-system-void 讓我們來看看他們對它的看法。 – Gope 2013-02-22 09:17:12

回答

0

提交錯誤的投訴與微軟後,他們向我指出的問題:二傳手的值不能爲對象類型。該信息是XamlTypeInfo生成所需的,所以當我將對象更改爲DataTemplate它被編譯。

雖然我還沒有嘗試過,但我相信對於純WPF的對象來說很好,但對於Win 8 Store應用程序,這確實會導致編譯錯誤。有趣的東西...... :)

+0

我希望你的解決方案可以幫助,但不幸的是,即使我的setter的值不是類型對象,而是MediaCapture,我仍然得到相同的錯誤,因爲我試圖將它綁定到CaptureElement。 – 2014-05-28 14:18:46

+0

讓我看看你的CLR屬性 – Gope 2014-05-28 14:21:41

+0

''''''作爲MediaCapture返回captureElement.GetValue(MediaCaptureSourceProperty);作爲MediaCapture返回captureElement.GetValue(MediaCaptureSourceProperty);作爲MediaCapture返回captureElement.GetValue(MediaCaptureSourceProperty) }' 'public static void SetMediaCaptureSource(CaptureElement captureElement,MediaCapture mediaCapture) captureElement。SetValue(MediaCaptureSourceProperty,mediaCapture); }' – 2014-05-28 14:33:47