![](/img/trans.png)
[英]Property value doesn't update value to Label in UI in Xamarin Forms
[英]Xamarin Forms - Label TextColor doesn't update by Binding
因此,基本上,我有一個Button列表。 當您單擊其中之一時,其Label TextColor就會更改。 為了實現它,我使用了{Binding value}
但是它不起作用..我試圖拋出一個事件,但是..什么都沒有發生..我試圖直接從Label設置它並且它起作用..為什么?
我在C#部分中有以下代碼:
private Color GroupSuperModLabelColor { get; set; }
private void OnGroupsClicked(object sender, EventArgs ea)
{
if (GroupSuperModLabelColor == App.NL_White)
GroupSuperModLabelColor = App.NL_OrangeBeer;
else
GroupSuperModLabelColor = App.NL_White;
this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(GroupSuperModLabelColor)));
//If I don't add this line, then it doesn't work, WHY?
GroupLabel.TextColor = GroupSuperModLabelColor;
Debug.WriteLine("OnGroupsClicked clicked !");
}
有XAML部分的聲明:
<AbsoluteLayout HeightRequest="{Binding SuperModHeightSize}" WidthRequest="{Binding SuperModWidthSize}">
<control:CustomLabel x:Name="GroupLabel" Text="Groups" FontFamily="{extension:FontFamily Roboto_Light}" FontSize="20" TextColor="{Binding GroupSuperModLabelColor}"
HorizontalTextAlignment="Center" VerticalTextAlignment="Center"
AbsoluteLayout.LayoutBounds="0.5, 0.5, 1, 1"
AbsoluteLayout.LayoutFlags="All"/>
<control:CustomButton BackgroundColor="Transparent" BorderColor="Transparent"
Clicked="OnGroupsClicked" LongPress="OnGroupsLongPress"
AbsoluteLayout.LayoutBounds="0.5, 0.5, 1, 1"
AbsoluteLayout.LayoutFlags="All"/>
</AbsoluteLayout>
我的Binding上下文設置為此,並且其他所有Binding東西都起作用。.僅僅是顏色,似乎不起作用。
為什么? 預先感謝
您的GroupSuperModLabelColor
未聲明為可綁定屬性: https : //developer.xamarin.com/guides/xamarin-forms/xaml/bindable-properties/
您必須更改聲明。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.