2015-06-04 5 views
2

Я пытаюсь связать свою модель просмотра с MvxStandardTableViewSource.Получить локальный url для MvxStandardTableViewSource ImageUrl

Мой связывающий текст: "DetailText MyDetail; TitleText MyTitle; ImageUrl MyImage"

Мои ViewModel

public class MyViewModel : MvxViewModel 
{ 
    public string MyDetail { get; } 
    public string MyTitle { get; } 
    public string MyImage { get; } 
} 

Я получил DetailsText и TitleText работает, но я не могу понять, что путь должен быть для ImageUrl

Мой имиджевый проект путь: My.Project.Name.Touch -> Resources -> myimage.png

Я пробовал:

  • "myimage.png"
  • Path.Combine("Resources", "myimage.png")

Может быть, я не могу использовать относительные пути. В таком случае, как получить полный путь?

Я установил следующие необходимые NuGet пакеты:

  • Cirrious.MvvmCross.Plugins.DownloadCache
  • Cirrious.MvvmCross.Plugins.File

Как получить правильный URL изображения строку, которая дает возможность связываться с ImageUrl?

ответ

3

Для локальных изображений на iOS вы должны добавить res: префикс в строку url. Ваше изображение URL может выглядеть следующим образом:

"res:myimage.png" 

Примечание: Путь выше работает, если ваши изображения помещаются в корне Application или ресурсов папки. Если у вас есть изображения в любом другом месте, то вы должны обеспечить полный путь:

"res:YourPath/myimage.png" 

Это потому, что файлы в папке Ресурсы трактуются по-разному - они копируются в корневой каталог приложения.

+1

Ваш ответ почти правильный. Вам нужно использовать ** res: **, но вам нужно избавиться от «Ресурсов». И «res: myimage», и «res: myimage.png» работают. Если вы измените свой андер, я приму это! Благодаря! – hwcverwe

+0

Спасибо за примечание. Я провел некоторое расследование, и вы правы - изображения в папке Ресурсы не могут иметь «Ресурсы» перед ними. Я обновил свой ответ. –

Смежные вопросы