Mr.*_*per 12 c# binding image xamarin xamarin.forms
我的问题是,我可以将字符串图像绑定到图像源吗?我有多个图像,如果条件,图像将会改变.所以:
Xamal上的Xaml形式:
<Image Source="{Binding someImage}" Aspect="Fill" Grid.Row="2"></Image>
Run Code Online (Sandbox Code Playgroud)
Codebehind c#
public String someImage;
public String SomeImage
{
set
{
if (someImage != value)
{
someImage = value;
}
}
get
{
return someImage;
}
}
Run Code Online (Sandbox Code Playgroud)
InitializeComponent部分:
if(true)
{
someImage = "backgroundListViewGren.png";
}
else
{
someImage = "backgroundListViewRed.png";
}
Run Code Online (Sandbox Code Playgroud)
图像位于便携式项目的"Images"文件夹中
但是,这不起作用,也许我不会做什么,但我不明白.有解决方案吗
我已经尝试使用ImageSource而不是字符串,但也没有用.
Mav*_*ick 14
我会在这里发布这个答案,因为它是我正在寻找的那个,我怀疑大多数人都是(并且谷歌目前在这里指导你,目前不是非常有用).
如何使用XAML绑定图像:
XAML:
<Image>
<Image.Source>
<FileImageSource File="{Binding SomeImage}" />
</Image.Source>
</Image>
Run Code Online (Sandbox Code Playgroud)
然后在ViewModel中,C#:
public string SomeImage
{
get { return string.Format("prefix-{0}-suffix.png", OtherProperty); }
}
Run Code Online (Sandbox Code Playgroud)
更新,更好,但基本相同的c#你可以使用而不是上面的:
public string SomeImage => $"prefix-{OtherProperty}-suffix.png";
Run Code Online (Sandbox Code Playgroud)
这当然是设置它的最简单的方法,IMO :).
编辑:应该不言而喻,但图像显然应该在Resources
每个平台的项目文件夹中.