C# DataGridComboBoxColumn: 如何从后端设置下拉选项值
要给DataGridComboBoxColumn的ItemsSource从后端设置下拉选项值,可以按照以下步骤操作:\n\n1. 首先,定义一个属性或字段来存储从后端获取的下拉选项值。例如,可以创建一个名为"ComboBoxItems"的ObservableCollection属性。\n\ncsharp\npublic ObservableCollection<string> ComboBoxItems { get; set; }\n\n\n2. 在后端的初始化或数据加载方法中,从后端获取下拉选项值,并将其设置到ComboBoxItems属性中。例如,可以使用数据库查询或其他数据源。\n\ncsharp\nComboBoxItems = new ObservableCollection<string>();\n// 从后端获取下拉选项值,例如从数据库查询\nvar items = YourDataAccessLayer.GetComboBoxItems();\nforeach (var item in items)\n{\n ComboBoxItems.Add(item);\n}\n\n\n3. 在XAML中,为DataGridComboBoxColumn的ItemsSource属性绑定到ComboBoxItems属性。可以使用Binding关键字并指定路径。\n\nxaml\n<DataGridComboBoxColumn Header="ComboBoxColumn" SelectedItemBinding="{Binding SelectedItemProperty}">\n <DataGridComboBoxColumn.ElementStyle>\n <Style TargetType="ComboBox">\n <Setter Property="ItemsSource" Value="{Binding DataContext.ComboBoxItems, \n RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />\n </Style>\n </DataGridComboBoxColumn.ElementStyle>\n <DataGridComboBoxColumn.EditingElementStyle>\n <Style TargetType="ComboBox">\n <Setter Property="ItemsSource" Value="{Binding DataContext.ComboBoxItems, \n RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />\n </Style>\n </DataGridComboBoxColumn.EditingElementStyle>\n</DataGridComboBoxColumn>\n\n\n在这个例子中,ComboBoxItems属性通过绑定设置为DataGrid的DataContext中的属性。使用RelativeSource指定上层DataGrid的DataContext作为绑定源。\n\n这样,DataGridComboBoxColumn的下拉选项值将从后端获取并显示在下拉列表中。
原文地址: http://www.cveoy.top/t/topic/pVV9 著作权归作者所有。请勿转载和采集!