テーブルの作成では、リストボックスのメソッドは、テーブルが電話機のビューを超えているので、私のプロジェクトのニーズに合っていません。 Gridviewは正確に適しています。しかし、私は実行時に行を追加する方法を知らない。Windows Phone 7で実行時にGridviewをデータとバインドする方法は?
namespace myApp
{
public class Person
{
public string Id { get; set; }
public string Name { get; set; }
public Person(string dId, string dName)
{
this.Id = dId;
this.Name = Name;
}
}
}
これは私のXAMLコードです:
<Grid x:Name="LayoutRoot" Background="Transparent">
<gridView:GridView x:Name="GridView1" CellSpacing="1" RowSpacing="1" ItemsSource="{Binding}">
<gridView:GridView.Columns>
<gridView:GridViewTextColumn Header="ID" Binding="{Binding} />
<gridView:GridViewTextColumn Header="Name" Binding="{Binding}"/>
</gridView:GridView.Columns>
</gridView:GridView>
</Grid>
静的に作成するために、私は、XAMLで(私は人物オブジェクトのためののviewmodel(例えばpersonVM)を作成し、私は静的リソースを作成した問題はありません)をそのオブジェクトに割り当て、私のgridviewにバインドします。
<phone:PhoneApplicationPage.Resources>
<local:PersonViewModel x:Key="PersonVM"/>
</phone:PhoneApplicationPage.Resources>
<gridView:GridView x:Name="GridView1" CellSpacing="1" RowSpacing="1" ItemsSource="{Binding Source={StaticResource PersonVM}, Path=Data}"
>
これを動的に行う方法はありますか? (それは* observablecollectionによって行うことができますか?) *私はdatacontextで行うことはできません。
GridView1.DataContext = new Person("S403","Arthos");
これは機能しません。どのようにコード内の列を識別できますか。私に教えてください。内容は、beyind Windowsの携帯電話を行くそのない場合、これは完全に動的テーブルを作成する方法に合ったWindowsの携帯電話用
をSilverlightのデータグリッドコントロールを構築
グリッドビューには、オブジェクト "GridView1"を介してアクセスできます。 VS2010では、「GridView1」と入力してください。オートコンプリートが開きます。列を追加するようなものはどこかに存在すると確信しています。幸運を見つける:) – Akshay
いいえ、私は列を識別する方法がありません。 Gridview1.Columnsは唯一の希望です。しかし、列プロパティを持つ列をどのように識別できるか(このプロパティは、列をgridviewに追加することです)。 –
はい、それです!列はコレクションです。 "Gridview1.Columns"を使用してください。オートコンプリートを確認してください。どこかに追加があります:) – Akshay