带有datagridcombo框mvvm的对象数据提供程序

时间:2013-09-08 21:32:08

标签: c# wpf mvvm

我需要知道如何将用户对象数据提供者绑定到datagridcombobox,其中数据提供者调用视图模型中的方法,该方法从数据库获取数据并放入观察集合市场,我想在datagridcombobox列中显示这些市场用户可以在添加或编辑数据行时选择市场。

我已经看过如何使用带有枚举的数据对象提供程序的示例,但这不是我的情况,请举例说明。

由于

1 个答案:

答案 0 :(得分:1)

它很容易使用ObjectDataProvider,只需传入类和方法名称即可调用。

<强>的ObjectDataProvider:

xmlns:data="clr-namespace:ViewModelnamespace"

<ObjectDataProvider x:Key="myData" 
                    ObjectType="{x:Type ViewModelnamespace:MyViewModel}" 
                    MethodName="GetData">        
</ObjectDataProvider>

数据:

namespace ViewModelnamespace
{   
    public class MyViewModel
    {
          public ObservableCollection<SomeThing> GetData()      
          {
              return //your data
          }
    }
}

<强>用法:

<DataGrid>
    <DataGrid.Columns>
        <DataGridComboBoxColumn ItemsSource="{Binding Source={StaticResource myData}}" />
    </DataGrid.Columns>
</DataGrid>