0

我的小项目现在看起来完全不同了。现在我有了ObservableCollection OC1想要与整体绑定的数据DatagridTextBoxColumns(通过Binding Path)以及ObservableCollection OC2我存储案例的位置DatagridComboboxColumn(as ItemsSourceBinding)。SelectedItem属性 inDatagridComboboxColumn是 from 的一个值OC1(并且它是 c 的一种OC2情况)。绑定就DatagridTextBoxColumnsOK了。

XAML:

<DataGrid x:Name="DGoc1" x:Uid="DGoc1" AutoGenerateColumns="False"
          AlternationCount="2" SelectionMode="Single" Margin="0,5,0,0" 
          HorizontalAlignment="Stretch">
  <DataGrid.Columns>

    <!-- This works fine -->
    <DataGridTextColumn Binding="{Binding Path=id}" Header="ID" 
                        Width="Auto" IsReadOnly="True"/>

    <!-- Dow to bind this properly?? -->
    <DataGridComboBoxColumn ItemsSource="{Binding OC2}" 
                            SelectedItemBinding="{Binding Path=valueFromOc1}"
                            Header="OC2Cases" Width="Auto"/>

C#(更新):

public class ClasswithSomeData
{
    public int id { get; set; }
    public string valueFromOc1 { get; set; }
}
public partial class DGCBC : Window
{
    public ObservableCollection<string> OC2 { get; set; }
    public ObservableCollection<ClasswithSomeData> OC1 { get; set;}

    private void tabPanel1_Loaded(object sender, RoutedEventArgs e)
    {
        LoadDG();
    }

public void LoadDG()
    {
    OC2 = new ObservableCollection<string>(someCases);

    OC1 = new ObservableCollection<ClasswithSomeData> { };
    OC1.Add(someData1);
    OC1.Add(someData2);
    OC1.Add(someData3);
    DGoc1.ItemsSource = OC1;

如何DatagridComboboxColumn正确绑定?请帮忙举个例子。

4

1 回答 1

1

您的 observablecollections 被声明为字段:

public ObservableCollection<string> OC2;
public ObservableCollection<ClasswithSomeData> OC1;

它们应该是属性:

public ObservableCollection<string> OC2 {get;set;}
public ObservableCollection<ClasswithSomeData> {get;set;} 

不要忘记 INotifyPropertyChanged!=)

于 2013-02-04T02:13:27.847 回答