我的应用程序(销售发票表单)中有一个包含五列的数据网格。一列需要自动完成控件。我想使用MVVM模式实现整个事情。
我该如何解决这个问题..
答案 0 :(得分:1)
我已将AutoCompleteBox列添加到datagrid。
在资源中使用DataTemplate。
<DataTemplate x:Key="AutoCompleteTemplate">
<tool:AutoCompleteBox ItemsSource="{Binding Source}"/>
</DataTemplate>
<DataGrid>
<DataGrid.Columns>
<DataGridTemplateColumn Header="AutoCompleteColumn" CellTemplate="{StaticResource AutoCompleteTemplate}"/>
<DataGridCheckBoxColumn Header="CheckBoxColumn"/>
</DataGrid.Columns>
如果Datagrid中的列是动态创建的,那么您可能需要根据您拥有的某些条件在AutoGeneratingColumn(对MVVM使用interactiontrigger)事件中创建列。创建DataGridTemplateColumn并通过从资源中查找来设置CellTemplate。