2017-11-11 114 views
2

使用xamarin表單開發跨平臺應用程序,最初該應用程序是使用Xamarin.Forms.2.4.0.38779,目標框架爲6.0以及Android支持庫版本23.3.0構建的。 UI代碼是:升級後的xamarin表單不能正確呈現按鈕

// styles 
<Style x:Key="DefaultButtonStyle" TargetType="Button"> 
    <Setter Property="TextColor" Value="DodgerBlue"></Setter> 
    <Setter Property="BackgroundColor" Value="Transparent"></Setter> 
</Style> 
<Style x:Key="RoundBorderButtonStyle" TargetType="Button" BasedOn="{StaticResource DefaultButtonStyle}"> 
    <Setter Property="BorderWidth" Value="1"></Setter> 
    <Setter Property="BorderRadius" Value="30"></Setter> 
    <Setter Property="BorderColor" Value="DodgerBlue"></Setter> 
</Style> 

<StackLayout Margin="15,0" Spacing="20" Orientation="Horizontal"> 
    <Button Style="{StaticResource RoundBorderButtonStyle}" HorizontalOptions="FillAndExpand" Text="Copy"></Button> 
    <Button Style="{StaticResource RoundBorderButtonStyle}" HorizontalOptions="FillAndExpand" Text="Addresses"></Button> 
</StackLayout> 

然後vs2017得到了更新,所以沒有xamarin形式,所以我還更新了項目中使用最新的庫,與Xamarin.Forms.2.4.0.38779和android目標框架8.0版,支持庫26.1.0.1。然後突然按鈕不能正確渲染。 enter image description here

更新後:更新之前

enter image description here

還有什麼我需要做更新xamarin形式?

更新

我創建了最低test case,藉以說明問題,在VS創建一個跨平臺的項目,唯一的文件更改爲TestButton/TestButton/MainPage.xaml中。該應用程序截圖:

enter image description here

+0

您能否發佈'RoundBorderButtonStyle'的代碼? –

+0

@ ElvisXia-MSFT它的帖子,上面的按鈕xaml – fluter

+0

對不起,錯過了,我會嘗試在我身邊。 –

回答

2

所以我還更新了項目中使用最新的庫,與Xamarin.Forms.2.4.0.38779和android目標框架8.0版,支持庫26.1.0.1。然後突然按鈕不能正確呈現

我轉載您的項目的問題,我發現它是由Xamarin.Forms庫造成的。我注意到您的示例項目Xamarin.Forms的版本是最新版本(2.4.0.74863)。

解決方案:通過將Xamarin.Forms降級到2.4.280並執行乾淨的重建並重新安裝該應用程序將解決該問題。

+0

我將Xamarin表格降級到2.4.0.280並再次嘗試,但沒有任何變化。一樣的問題。 – fluter

+0

你有沒有卸載你的手機/模擬器中的應用程序,並清理重建應用程序?此外,您還需要在PCL和Xamarin.Android項目中降級lib。 –

+0

是的,確實現在它卸載應用程序後現在工作。謝謝。 – fluter