簡體   English   中英

XAML轉換器如何做更多呢?

[英]How to XAML converters do more?

在angular中可以對文本進行很多過濾,例如:

<div ng-bind="vm.value | filter1| filter2| filter3"

並保持順序。 如何在XAML中完成? 特別是黃豆素。

這是通過使用Xamarin形式的轉換器來完成的:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         x:Class="XamlSamples.SharedResourcesPage"
         Title="Shared Resources Page">
 <ContentPage.Resources>
   <ResourceDictionary>
     <local:DoubleToIntConverter x:Key="intConverter" />
   </ResourceDictionary>
 </ContentPage.Resources>
  <StackLayout>
   <Label Text="{Binding Color.R,
          Converter={StaticResource intConverter},
          ConverterParameter=255,
          StringFormat='R={0:X2}'}" />
  </StackLayout>
</ContentPage>

轉換器:

class DoubleToIntConverter : IValueConverter
{
    public object Convert(object value, Type targetType,
                          object parameter, CultureInfo culture)
    {
        double multiplier;

        if (!Double.TryParse(parameter as string, out multiplier))
            multiplier = 1;

        return (int)Math.Round(multiplier * (double)value);
    }

    public object ConvertBack(object value, Type targetType,
                              object parameter, CultureInfo culture)
    {
        double divider;

        if (!Double.TryParse(parameter as string, out divider))
            divider = 1;

        return ((double)(int)value) / divider;
    }
}

此處提供更多信息: https : //developer.xamarin.com/guides/xamarin-forms/user-interface/xaml-basics/data_binding_basics/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM