具有数据网格组合框 mvvm 的对象数据提供程序

本文关键字:数据 对象 程序 mvvm 数据网 网格 组合 | 更新日期: 2023-09-27 18:30:33

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

我已经看到了如何将数据对象提供程序与枚举一起使用的示例,但这不是我的情况,所以请通过示例提供建议。

谢谢

具有数据网格组合框 mvvm 的对象数据提供程序

使用

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>