MVVM Light 清單類型控制項的處理: Combobox、ListBox、Datagrid等所有能綁定到集合的控制項

來源:互聯網
上載者:User

<ListBox ItemsSource="{Binding Provinces}" DisplayMemberPath="ProvinceName"/>

 

ListBox其實有一個預設的ItemTemplate,它以一個Content控制項來顯示DisplayMemberPath定義的欄位的內容,我們可以自訂ItemTemplate讓ListBox顯示更多的內容,注意ItemTemplate與DisplayMemberPath不能同時定義

 

    <ListBox ItemsSource="{Binding Provinces}">
        <ListBox.ItemTemplate>
          <DataTemplate>
            <StackPanel Orientation="Horizontal">
              <TextBlock Text="{Binding ProvinceName}"/>
              <TextBlock Margin="5,0,2,0" Text="省會:"/>
              <TextBlock Text="{Binding Capital}"/>
            </StackPanel>
          </DataTemplate>
        </ListBox.ItemTemplate>
      </ListBox>

 

Datagrid 的分組綁定:

 

<UserControl.Resources>
   <CollectionViewSource x:Key="ProductsGroup" Source="{Binding Products}">
    <CollectionViewSource.GroupDescriptions>
     <PropertyGroupDescription PropertyName="ProductDate" />
    </CollectionViewSource.GroupDescriptions>
    <CollectionViewSource.SortDescriptions>
     <scm:SortDescription PropertyName="ProductDate" Direction="Descending" />
     <scm:SortDescription PropertyName="ID" Direction="Ascending" />
    </CollectionViewSource.SortDescriptions>
   </CollectionViewSource>
  </UserControl.Resources>

...
...

<sdk:DataGrid DataContext="{StaticResource ProductsGroup}" AutoGenerateColumns="False" 
                ItemsSource="{Binding}" SelectedItem="{Binding SelectedProduct}" Width="300" >
        <sdk:DataGrid.Columns>
         <sdk:DataGridTextColumn Binding="{Binding ID}" Header="編號" />
         <sdk:DataGridTextColumn Binding="{Binding Name}" Header="名稱" />
         <sdk:DataGridTextColumn Binding="{Binding Desc}" Header="說明" />
        </sdk:DataGrid.Columns>
      </sdk:DataGrid>

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.