[英]WPF beginner: binding and templates
我現在開始使用wpf(來自Windows Forms),現在我想創建一個用於玩wpf的小工具。 我知道有綁定和模板,並了解他們做了什么,並知道我必須填充Window.DataContext並且可以綁定到這個但是對於我的例子我不能把它全部放在一起,也許有人可以幫助我,更好地理解這一點。
模特是
class ViewModel { public List'Bank ListOfBanks { get; set; } } class Bank { public List'Account ListOfAccounts { get; set; } } class Account { public String Description { get; set; } public Decimal Money { get; set; } }
我想要做的是,有一個(一些漂亮的藍色)矩形的動態列表(Count = ListOfBanks屬性中的Bank數),並且在這個Rectangle中應該是一個有兩列(Description和Money屬性)的網格,它應該具有as就像銀行模型中的ListOfAccounts屬性中的帳戶一樣。
我所知道的是
public MainWindow() { InitializeComponent(); this.DataContext = new ViewModel(); }
我知道這並不多。 我知道如何將網格列綁定到帳戶屬性,這就是全部。
如果有人可以幫助我,那將是很棒的。
親切的問候
一種簡單的方法是使用嵌套的ItemsCollection
:
<ItemsControl ItemsSource="{Binding ListOfBanks}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding ListOfAccounts.Count,StringFormat='Number of Accounts: {0}'}" />
<ItemsControl ItemsSource="{Binding ListOfAccounts}">
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Description}" />
<TextBlock Grid.Column="1" Text="{Binding Money,StringFormat='{}{0:C}'}" />
</Grid>
</DataTemplate>
</ItemsControl>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
ItemsControl是一個基本的重復控件 - 如果你想要花里胡哨使用ListBox
(項目選擇)或DataGrid
(排序,分組,自動列等)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.