How to bind collection to WPF:DataGridComboBoxColumn

一笑奈何 提交于 2019-11-29 09:09:19

This is hands down the best solution:

http://wpfthoughts.blogspot.com/2015/04/cannot-find-governing-frameworkelement.html

The idea here is that you declare a CollectionViewSource as a static resource and then declaratively bind it to ItemsSource of the DataGridComboBoxColumn.

Create and bind a static CollectionViewSource:

 <Page.Resources>
     <CollectionViewSource x:Key="Owners" Source="{Binding Owners}"/>
 </Page.Resources>

And then bind your target ItemsSource:

ItemsSource="{Binding Source={StaticResource Owners}}"

If your measures are common for all objects, then you can make measures static

public String[] Measures { get; }

And your xaml will use it as it's shown below:

<DataGridComboBoxColumn
    Header="Role"
    SelectedValueBinding="{Binding Role}"
    ItemsSource="{Binding Source={x:Static local:ProjectsDataContext.Roles}}"
    DisplayMemberPath="Name"/>

Hopefully, it will help.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!