我使用Xamrin.forms.labs在共享代码中创建Imagebutton。图像按钮的数量根据列表中的元素数量而变化。我的问题是
我怎样才能实现它?
我用来创建ImageButtons的代码如下所示。
StackLayout Holder = new StackLayout {
HorizontalOptions=LayoutOptions.FillAndExpand,
VerticalOptions=LayoutOptions.Center,
Orientation=StackOrientation.Horizontal,
Spacing=2,
};
foreach (var options in list)
{
var Icon = new ImageButton () {
Source=Source.png,
BackgroundColor=Xamarin.Forms.Color.Transparent,
HorizontalOptions=LayoutOptions.CenterAndExpand,
VerticalOptions=LayoutOptions.CenterAndExpand,
Orientation=Xamarin.Forms.Labs.Enums.ImageOrientation.ImageOnTop,
Text=labeltxt,
};
Icon.Clicked += OnSelected;
Holder.Children.Add (Icon );
}
}
提供有用的链接或示例代码将非常有用.. 在此先感谢..
答案 0 :(得分:0)
如果您共享ImageButton
的代码,那将会有很大帮助。
话虽如此......如果你的ImageButton有一个Command属性,它也会有一个CommandParameter属性。如果它没有 - 制作它们。
您可以使用某个ID设置CommandParameter属性,然后将Command绑定到相同的代码,例如
ImageButton icon = null;
icon = new ImageButton{
...
Command= new Command((tag)=>{
icon.Source = ImageSource.FromFile("...");// see other .FromXYZ methods too
},
CommandParameter="<your tag here>",
}
但是......在你完成所有这些之前检查Xamarin.Forms.Labs,那里已经有了一个ImageButton,你可以通过搜索&#34; Xamarin Forms Labs&#从NuGet添加该项目34;在包管理器中