1

私はWP8に本当に慣れていません...そして、私がaspnetで開発したときに直面していたいくつかのメカニズムをまだ理解しています...たとえば、データソース、データバインド...

グリッド内の要素を視覚化する方法がわかりません:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0" Loaded="ContentPanel_Loaded">

      <TextBlock x:Name="xx" .../>  
</Grid>

テキストブロックをn回繰り返したいだけです...この瞬間、これを行う唯一の方法は、このようなことをすることです

foreach (....)
{
     TextBlock tb = new TextBlock();
     tb.Text = p.Name;

     ContentPanel.Children.Add(tb);
}

しかし、これは正しい方法ではないと思います...何か提案はありますか?ありがとう

4

1 に答える 1

1

ここにxamlがあります

<ListBox x:Name="NameList">
   <ListBox.ItemTemplate>
        <DataTemplate>
           <StackPanel Orientation="Horizontal">
              <TextBlock Text="{Binding Path=Name}" Width="200"/>

           </StackPanel>
         </DataTemplate>
   </ListBox.ItemTemplate>
 </ListBox>

cs

   using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
using StackOverFlowTestApp.Resources;
using Microsoft.Phone.Tasks;
using Microsoft.Phone.UserData;

namespace StackOverFlowTestApp
{
    public partial class MainPage : PhoneApplicationPage
    {
        private SaveAppointmentTask saveAppointmentTask;
        private List<int> listMinutes = new List<int>();
        // Constructor
        public MainPage()
        {
            InitializeComponent();
            List<User> list = new List<User>();
            for (int i = 0; i < 10; i++) {
                User user = new User();
                user.name = "Anobik"+i;
                list.Add(user);
            }
            NameList.ItemsSource = list;
        }


    }


    public class User {
        public string name { get; set; }
    }


}

最も簡単な方法で試してみてください。しかし、実際にはバインドの概念は MVVM に拡張されているため、記事から読むことができます

MVVM Windows Phone 8

于 2013-09-14T14:25:55.747 に答える