获取要在ListView DataTemplate中显示的数据

时间:2016-01-05 02:12:58

标签: c# xaml listview datatemplate

这可能是我想念的简单,但我有一个带有ItemTemplate和DataTemplate的ListView:

                         <ListView Name="IngredientsListBox">
                            <ListView.ItemTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding IngredientName}" />
                                </DataTemplate>
                            </ListView.ItemTemplate>
                        </ListView>

并在后面的代码中传递给它的数据:

protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        base.OnNavigatedTo(e);

        var selectedRecipe = e.Parameter as Recipe;
        if (selectedRecipe != null)
        {

            _ingredientViewModel = new IngredientViewModel(selectedRecipe);
            IngredientsListBox.DataContext = _ingredientViewModel.Ingredients;
        }
    }

当我运行代码时,_ingredientViewModel.Ingredients显示从数据源传递给它的三个成分,但它们没有显示在XAML页面上。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

如果您阅读它,请忽略我的原始答案。 ItemsSource不会在任何地方设置。而不是设置IngredientsListBox.DataContext,设置IngredientsListBox.ItemsSource