C 如何在Xamarin表单平台上应用行为
我想在我的xamarin表单应用程序中添加数字向上/向下动画。我找到了代码示例 但我还没有申请。如何应用此行为类Xamarin Forms标签控件 我尝试了这个代码,但没有成功C 如何在Xamarin表单平台上应用行为,c,xamarin,bindableproperty,C,Xamarin,Bindableproperty,我想在我的xamarin表单应用程序中添加数字向上/向下动画。我找到了代码示例 但我还没有申请。如何应用此行为类Xamarin Forms标签控件 我尝试了这个代码,但没有成功 <Label x:Name="lblScore" FontSize="24" TextColor="Black" Text="{Binding Number}" HorizontalOptions="Center" VerticalOptions="CenterAndExpand">
<Label x:Name="lblScore" FontSize="24" TextColor="Black" Text="{Binding Number}" HorizontalOptions="Center" VerticalOptions="CenterAndExpand">
<Label.Behaviors>
<controls:NumericTextAnimationBehavior Value="{Binding Number}"/>
</Label.Behaviors>
</Label>
我的项目没用。我想为标签应用计数器动画
感谢您的支持。我搜索了INotifyPropertyChanged模式并解决了它 型号:
public class ScoreViewModel : INotifyPropertyChanged
{
// boiler-plate
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
var handler = PropertyChanged;
if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
}
protected bool SetField<T>(ref T field, T value, string propertyName)
{
if (EqualityComparer<T>.Default.Equals(field, value)) return false;
field = value;
OnPropertyChanged(propertyName);
return true;
}
// props
private string number;
public string Number
{
get { return number; }
set { SetField(ref number, value, "Number"); }
}
}
Xaml:
如果您想深入了解INotifyPropertyChanged实现,请查看这里()我搜索了INotifyPropertyChanged模式并解决了它 型号:
public class ScoreViewModel : INotifyPropertyChanged
{
// boiler-plate
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
var handler = PropertyChanged;
if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
}
protected bool SetField<T>(ref T field, T value, string propertyName)
{
if (EqualityComparer<T>.Default.Equals(field, value)) return false;
field = value;
OnPropertyChanged(propertyName);
return true;
}
// props
private string number;
public string Number
{
get { return number; }
set { SetField(ref number, value, "Number"); }
}
}
Xaml:
如果您想深入了解INotifyPropertyChanged实现,请查看此处()
public partial class ProfilePage : ContentPage
{
ScoreViewModel scoreViewModel = new ScoreViewModel();
public ProfilePage()
{
InitializeComponent();
lblScore.BindingContext = scoreViewModel;
}
private void btnSetRandom_Clicked(object sender, EventArgs e)
{
Random randomizer = new Random();
scoreViewModel.Number = randomizer.Next(9999, 99999).ToString();
}
}
<Label x:Name="lblScore" FontSize="24" Text="{Binding Number}">
<Label.Behaviors>
<controls:NumericTextAnimationBehavior Value="{Binding Number}"/>
</Label.Behaviors>
</Label>