Xamarin формирует URL-привязку на изображении - PullRequest
0 голосов
/ 30 января 2019

У меня есть изображение в моем xaml, в котором источником является URL, который связывает Iam. URL от json будет выглядеть следующим образом: " / images / Uploads / e0111.png ".У меня есть URL в моем классе сохраненных общих значений как CommonValues.URL.Как я могу добавить этот «CommonValues.URL» перед json во время привязки?Так что источник для Image будет http://example.com//images/Uploads/e0111.png.?

Ответы [ 2 ]

0 голосов
/ 30 января 2019

Вы можете использовать конвертер, который позволит вам повторно использовать все ваши представления / приложения

public class UrlConverter : IValueConverter
{
    #region IValueConverter implementation

    public object Convert (object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        var test = value as string; 
        if (!string.IsNullOrEmpty(test))  
        {
            return CommonValues.URL + test;
        }
        return false;
    }

    public object ConvertBack (object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        throw new NotImplementedException ();
    }

    #endregion
}

Затем на вашей странице:

<ContentPage.Resources>
    <ResourceDictionary>
        <converter:UrlConverter x:Key="UrlConverter" />
    </ResourceDictionary>
</ContentPage.Resources>

 <Image Source="{Binding YourProperty, Converter={StaticResource UrlConverter}}"/>
0 голосов
/ 30 января 2019

Если вам нужно Uri

var myUrl= new Uri(CommonValues.URL + "images/Uploads/e0111.png");

Если string, чем

var myUrl=CommonValues.URL + "images/Uploads/e0111.png";

Или вы можете сделать это так в вашем ViewModel или Page

public string Url => string.Format("{0}{1}", CommonValues.URL,"/images/Uploads/e0111.png");

Затем в XAML:

<Button Text="{Binding Url}"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...