2017-08-16 38 views
1

在我的C#我改變到按鈕的顏色是這樣的:如何從Xamarin的按鈕中移除顏色?

aButton.BackgroundColor = Color.FromHex("#e9e9e9"); 

有沒有辦法消除這種顏色。我知道我可以將它恢復到之前的顏色,但是想知道是否有辦法刪除所分配的內容?

+0

您是否意味着刪除?如果你的意思是透明的,你可以將它分配給'Color.Transparent' –

+0

我改變它的默認值,所以我希望能夠恢復到原來的狀態。我想知道它在哪裏設置,因爲我認爲顏色設置在Apple或Xamarin代碼的某處。 – Alan2

+1

根據文檔說明,應該是'Color.Default'完成。https://developer.xamarin.com/api/property/Xamarin.Forms.VisualElement.BackgroundColor/ –

回答

7

按照Xamarin文檔,the BackgroundColor of a VisualElement is Color.Default

所以您可以在Button.BackgroundColor酒店僅分配給Color.Default

aButton.BackgroundColor = Color.Default; 

爲了完整起見:因爲它是一個非空的值類型無法刪除的顏色。如果您打算將其設置爲透明,請將其指定給Color.Transparent

aButton.BackgroundColor = Color.Transparent; 
+0

這是比我更好的答案。從來不知道'Color.Default'存在! – user1

1

您正在更改Button的背景顏色。沒有辦法「刪除」的顏色。我不認爲這存在於任何語言(有人糾正我,如果我錯了)

最好的辦法是重置顏色:

public Color PreviousColour { get; set;} 

public void SetColour() 
{ 
    PreviousColour = aButton.BackgroundColor; 
    aButton.BackgroundColor = Color.FromHex("#e9e9e9"); 
} 

public void ResetColour() 
{ 
    aButton.BackgroundColor = PreviousColour; 
} 
+0

我在考慮在Xamarin源代碼中設置默認顏色。任何想法,如果是這樣的話? – Alan2

+1

@Alan不是我所知道的。 [this](https://github.com/xamarin/Xamarin.Forms)將從哪裏開始。但上面的代碼會更容易/更簡單 – user1