微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将WPF DataGridComboBoxColumn绑定到自定义源

如何解决将WPF DataGridComboBoxColumn绑定到自定义源

|| 我有一个绑定到它的View和viewmodel(WPF / C#)。 现在,在
DataGrid
中有一个
DataGridComboBoxColumn
,我想将组合的
ItemsSource
设置为viewmodel的某些固定属性。组合的隐式datacontext不幸地是当前行。 我要做的就是从当前行的DataContext中“退出”。 谢谢您的回答。     

解决方法

        我要做的是将窗口设置为具有ViewModel的DataContext,然后执行以下操作:
<ComboBox ItemsSource=\"{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type Window}},Path=NodeNames}\">
</ComboBox>
这将在树中找到窗口,然后为我绑定一个名为NodeNames的属性。     ,        例如,在我的项目中,我通过以下方式将comboBox绑定到ViewModel的属性
<ComboBox Name=\"projectcomboBox\" ItemsSource=\"{Binding Path=Projects}\" IsSynchronizedWithCurrentItem=\"True\" DisplayMemberPath=\"FullName\"
              SelectedValuePath=\"Name\"  SelectedIndex=\"0\"  Grid.Row=\"1\" Visibility=\"Visible\" Canvas.Left=\"10\" Canvas.Top=\"24\" Margin=\"11,6,13,10\">
    </ComboBox>
该属性是
 public ObservableCollection<Project> Projects
    {
        get { return projects; }
        set
        {
            projects = value;
            RaisePropertyChanged(\"Projects\");
        }
    }
设置ItemsSource,DisplayMemberPath,SelectedValuePath属性非常重要。 您还可以绑定SelectedIndex     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。