我的小项目现在看起来很不一样了。现在我有ObservableCollection OC1
包含我要与整个DatagridTextBoxColumns
(通过绑定路径)和ObservableCollection OC2
绑定的数据,其中我存储了DatagridComboboxColumn
的个案(作为ItemsSourceBinding
)。 SelectedItem
中的DatagridComboboxColumn
属性是OC1
中的一个值(并且它是OC2
个案例中的一个)。
DatagridTextBoxColumns
上的绑定没问题。
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
?请帮助一些例子。
答案 0 :(得分:1)
您的observablecollections被声明为字段:
public ObservableCollection<string> OC2;
public ObservableCollection<ClasswithSomeData> OC1;
它们应该是属性:
public ObservableCollection<string> OC2 {get;set;}
public ObservableCollection<ClasswithSomeData> {get;set;}
不要忘记INotifyPropertyChanged! =)