2017-12-15 5 views
0

渡されたデータ<p></p> <p>私は基本的にデータを受け取る必要があります。今ではプログラムをデバッグするときに情報が完全に渡されますが、私が読み込んだときにリストビューに表示されません。</p> <p>任意のヘルプは素晴らしいだろう、おかげ</p>

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 
     xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
     x:Class="App11.OrderedItemsPage"> 
<ContentPage.Content> 
    <StackLayout > 
     <!--Top Section--> 
     <ListView x:Name="listView" RowHeight="60"> 
      <ListView.ItemTemplate> 
       <DataTemplate> 
        <ViewCell> 
         <StackLayout 
        Orientation="Horizontal" 
          HorizontalOptions="Fill"> 
          <Image x:Name="BgImage" Source="{Binding Image}" 
            AbsoluteLayout.LayoutBounds="250.25, 0.25, 50, 50"/> 
          <StackLayout Orientation="Vertical"> 
           <Label Text="{Binding Coffee}" 
             FontSize="24" 
             AbsoluteLayout.LayoutBounds="0.25, 0.25, 400, 40" 
           ></Label> 
           <Label Text="{Binding Details}" 
             AbsoluteLayout.LayoutBounds="50, 50, 200, 25" 
           ></Label> 
          </StackLayout> 
         </StackLayout> 
        </ViewCell> 
       </DataTemplate> 
      </ListView.ItemTemplate> 
     </ListView> 

     <StackLayout Orientation="Horizontal"> 
      <!--Second half--> 
      <Button 
       x:Name="AddButton" 
       Text="Add Drink" 
        VerticalOptions="EndAndExpand" 
        HorizontalOptions="CenterAndExpand" 
        Clicked="addDrinkButtonClick"> 

      </Button> 
      <Button Text="Add Food" 
        VerticalOptions="EndAndExpand" 
        HorizontalOptions="CenterAndExpand"> 

      </Button> 
     </StackLayout> 
      <!--third half (cause thats a thing)--> 
      <StackLayout Orientation="Vertical"> 
       <Button Text="Process Order" 
        VerticalOptions="EndAndExpand" 
        HorizontalOptions="CenterAndExpand" 
      ></Button> 
      </StackLayout> 

    </StackLayout> 
</ContentPage.Content> 
を示していない
+1

MVVMアーキテクチャの使用については、https://developer.xamarin.com/guides/xamarin-forms/xaml/xaml-basics/data_bindings_to_mvvm/を参照してください。 –

答えて

1

これはおそらく犯人である:elements = new ObservableCollection<ElementsViewModel>();

毎回ObservableCollectionを新規作成しないでください。これにより、バインディングによってUIが更新され、変更内容が表示されなくなります。ちょうどelementsをインスタンス化する:public ObservableCollection<ElementsViewModel> elements { get; set; } = new ObservableCollection<ElementsViewModel>();と空の空きが必要なたびにそれをクリアします。次に、アイテムを1つずつ追加します。

こちらの便利なパッケージは、James MontemagnoのMVVM Helpersです。それはObservableRangeCollectionを持っているので、範囲全体を置き換えることができ、foreachを節約できます。

関連する問題

 関連する問題