首页 > 解决方案 > C# UWP 如何在 xaml 中显示字符串 []?

问题描述

我有一个从 API 填充的巴士班次字符串 []。我想知道是否有任何方法可以在 xaml 中显示这个数组?

我在 MVVM 模式下工作,我的 ViewModel 看起来像这样:

    private string[] _departures = new string[7];
    public string[] Departures
    {
        get
        {
            return _departures;
        }
        set
        {
            _departures = value;
            OnPropertyChanged();
        }
    }

我的 MainPage.xaml 看起来像这样:

        <ItemsControl ItemsSource="{Binding Departures}">
            <ItemsControl.ItemTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding Departures}"/>
                </DataTemplate>
            </ItemsControl.ItemTemplate>
        </ItemsControl>

这就是它现在的样子: 结果

标签: c#arraysxamluwp

解决方案


确保视图的 DataContext 包含具有以下Departures属性的对象:

public sealed partial class MainPage : Page
{
    public MainPage()
    {
        InitializeComponent();
        DataContext = new ViewModel();
    }
}

public class ViewModel
{
    public string[] Departures { get; } = new string[] { "Now", "Then", "Later" };
}

然后这个 XAML 工作:

<ItemsControl ItemsSource="{Binding Departures}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding}"/>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

推荐阅读