У меня есть решение Xamarin на основе PCL. Что мне нужно сделать, так это загрузить изображения в представлении проектов приложений. Эти изображения находятся в другом проекте PCL.Как загружать изображения из определенного места, а не из связанных сборок?
В основном у меня есть вид GradView xamarin. В этом представлении должно отображаться нечто вроде «карт». Все данные загружаются хорошо, но изображения. Честно говоря, я пробовал все, что мог, - полный путь, встроенные ресурсы, относительный путь, префикс windows ms-appx ///. Я не пробовал только поток, который не очень полезен для меня. Работал только веб-источник.
Мой код:
[assembly: ExportRenderer(typeof(GridViewRoles), typeof(GridViewRolesRenderer))]
namespace StrangerParty.Windows.Renderers
{
public class GridViewRolesRenderer : ViewRenderer<GridViewRoles, GridView>
{
private GridView gridView;
protected override void OnElementChanged(ElementChangedEventArgs<GridViewRoles> e)
{
base.OnElementChanged(e);
if (this.Control == null)
{
this.gridView = new GridView();
StringBuilder sb = new StringBuilder();
sb.Append("<DataTemplate xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\">");
sb.Append("<Grid Height=\"100\" Width=\"100\" >"); /*Background =\"#FF2E2E2E\"*/
sb.Append("<Image x:Name=\"ImageRoleImage\" Stretch=\"UniformToFill\" Source=\"sampleForTesting.png\"/>");
sb.Append("</Grid>");
sb.Append("</DataTemplate>");
DataTemplate datatemplate = (DataTemplate)XamlReader.Load(sb.ToString());
this.gridView.ItemTemplate = datatemplate;
SetNativeControl(this.gridView);
}
this.gridView.ItemsSource = Core.Instance.GameHandler.Game.Players;
}
}
}
Спасибо отношению к какой-либо помощи
спасибо! Это отличное и полное руководство по использованию встроенных образов. Я действительно не ожидал чего-то такого исчерпывающего, но это очень ценится! – Qerts