2016-11-18 50 views
3
<ContentPage Title="Introduction" 
      NavigationPage.HasBackButton="False" 
      xmlns="http://xamarin.com/schemas/2014/forms" 
      xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
      x:Class="Xamarin.IntroductionPage"> 

我看到一些其他的視頻教程靜態方法的財產,他們有NavigationPage.HasBackButton =「假」,但在我的Visual Studio與Xamarin沒有問題它會產生構建錯誤xamarin:無法找到一個名爲「HasBackButton」或名爲「GetHasBackButton」

Can not find a property named "HasBackButton" or static method named "GetHasBackButton" ... 

什麼可能導致這種情況?謝謝

回答

2

我也看到了這個相同的問題。由於某種原因,似乎是XAMLC編譯器不能正確處理附加屬性。如果在程序集級別具有XamlCompilation屬性,則可以將其註釋掉,問題將消失,直到找到適當的解決方案。

更多的研究後,我發現,XAMLC必須有最近有所改動,現在預計對附加綁定屬性的get/set方法的第一個參數是類型BindableObject的。不幸的是,NavigationPage.GetHasBackButton和NavigationPage.SetHasBackButton都希望Page作爲他們的第一個參數。由於NavigationPage由平臺提供的唯一的變通似乎被註釋掉XamlCompilation屬性或刪除您的XAML的NavigationPage.HasBackButton線和移動它背後那裏將沒有問題,編譯的代碼:

public class MyContentPage : ContentPage 
{ 
    InitializeComponent(); 

    NavigationPage.SetHasBackButton(this, false); 
} 

希望Xamarin能儘快爲這次迴歸提供一個解決方案。

0

有同樣的錯誤。

在*的.cs刪除[XamlCompilation(XamlCompilationOptions.Compile)]的伎倆。

相關問題