簡體   English   中英

WPF初學者:綁定和模板

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM