2013-04-12 53 views
0

我创建一个StackPanel在我的XAML,现在在C#代码,我在我的WP7应用程序添加列表框到StackPanel中XAML的StackPanel不是从代码更新背后

onbuttonClicks事件。

因此,最初有5个项目正在成功添加,但下一轮(按钮单击)堆栈面板不会更新。而在调试StackPanel的孩子数是10(使用Shift + F9),但XAML不更新

我的C#代码:

private void BindAvailableItems(JToken jToken) 
     { 
      if (jToken.Count() > 0) 
      { 
       for (int i = 0; i < jToken.Count(); i++) 
       { 
        ListBoxItem Item = new ListBoxItem(); 
        DataTemplate ContentTemplate = Application.Current.Resources["UserAvailableItemsTemplate"] as DataTemplate; 
        Item.ContentTemplate = ContentTemplate; 

        MultiLineItem Content = new MultiLineItem(); 
        Content.Line1 = "http://localhost:5141" + jToken[i]["ItemImageUrl"].ToString(); 

        Item.Content = Content; 

        stackPnl.Children.Add(Item); //<---stackPanel 

        stackPnl.UpdateLayout(); 
       } 
      } 
+0

你的for循环后,你可以尝试调用stackPnl.InvalidateVisual – Fabrice

+0

@Fabrice:stackPnl.InvalidateVisual()语法错误! ??? –

+0

Argh在wp7上不可用...对不起 – Fabrice

回答

0

这是你的问题,假设有可视化问题。您正在将ListBoxItem实例添加到StackPanel。虽然这是一个可行的事情,但我没有看到这样做的理由。显然,因为StackPanel控件没有内置的触摸滚动条,所以您看不到新的元素。用ListBox代替StackPanel