如何解决如何显示Stacklayout子项的内容而不是对象的名称?
我正在尝试从代码动态创建StackLayout。参考文档以及关于StackOverflow的几个问题,到目前为止,这就是我所要解决的问题,
XAML视图:
<StackLayout BindableLayout.ItemsSource="{Binding Items.Children}"/>
viewmodel:
public StackLayout Items { get; } = new StackLayout {
Margin = new Thickness(20),Children =
{
new Label { Text = "Primary colors" },new BoxView { Color = Color.Red },new BoxView { Color = Color.Yellow },new BoxView { Color = Color.Blue },new Label { Text = "Secondary colors" },new BoxView { Color = Color.Green },new BoxView { Color = Color.Orange },new BoxView { Color = Color.Purple }
}
};
VM中的代码只是一个示例,我在那里可能有各种对象。但是现在,这就是我得到的结果。
解决方法
您只需要将您动态创建的StackLayout添加到页面Content
。
例如:
public partial class YourPage: ContentPage
{
public YourPage()
{
YourVM vm = new YourVM();
Content = vm.Items;
}
}
您的 ViewModel :
public class YourVM
{
public StackLayout Items { get; } = new StackLayout {
Margin = new Thickness(20),Children =
{
new Label { Text = "Primary colors" },new BoxView { Color = Color.Red },new BoxView { Color = Color.Yellow },new BoxView { Color = Color.Blue },new Label { Text = "Secondary colors" },new BoxView { Color = Color.Green },new BoxView { Color = Color.Orange },new BoxView { Color = Color.Purple }
}
};
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。