Xamarin XAML绑定到iMarkupExtension

时间:2017-07-19 17:41:29

标签: c# xaml xamarin xamarin.forms

简单的概念证明(我会使用转换器,但我正在学习Markup Extensions)

这是基于Evolve 2016会话https://evolve.xamarin.com/session/56e201d2bad314273ca4d813

我有一个绑定到带有Label的简单模型的页面。

        <Label 
            Text="{Binding Path=Amount1, StringFormat='{0:C}'}" 
            TextColor="{toolkit:FinancialColor PrettyMoney={Binding Amount1}}"></Label>

我需要将Amount1Model发送到IMarkupExtenion FinancialColor,但我收到错误PrettyMoney没有属性,可绑定属性或事件。

这是我的MarkupExtension

public class FinancialColorExtension : IMarkupExtension
{
    public decimal PrettyMoney { get; set; }

    public object ProvideValue(IServiceProvider serviceProvider)
    {
        if (PrettyMoney == 0) return Color.Black;
        if (PrettyMoney < 0)  return Color.Red;
        return Color.Green;
    }
}

0 个答案:

没有答案