【问题标题】:Xamarin Forms - Label TextColor doesn't update by BindingXamarin 表单 - 标签 TextColor 不会通过绑定更新
【发布时间】:2016-10-21 11:17:16
【问题描述】:

所以,基本上,我有一个 Button 列表。当您单击其中之一时,其 Label TextColor 会发生变化。为了做到这一点,我使用{Binding value} 但是,它不起作用.. 我试图抛出一个事件但是.. 没有任何反应.. 我试图直接从标签设置它并且它有效.. 为什么?

我在 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 东西都可以工作。只是颜色,它似乎不起作用..

为什么?提前致谢

【问题讨论】:

    标签: c# xaml binding textcolor


    【解决方案1】:

    您的 GroupSuperModLabelColor 未声明为可绑定属性:https://developer.xamarin.com/guides/xamarin-forms/xaml/bindable-properties/

    您必须更改声明。

    【讨论】:

      猜你喜欢
      • 2022-01-04
      • 1970-01-01
      • 1970-01-01
      • 2020-08-06
      • 2018-11-15
      • 2019-03-19
      • 2017-08-15
      • 1970-01-01
      • 2020-10-27
      相关资源
      最近更新 更多