我正在创建一个 C# 项目,其中许多组合框列以编程方式添加到数据网格中。不幸的是,当添加许多列时,数据网格无法全部显示,并且水平滚动条被禁用且无法点击。
设计 :
<DataGrid ScrollViewer.CanContentScroll="True" ScrollViewer.HorizontalScrollBarVisibility="Visible" x:Name="dg" Grid.Column="1" Grid.Row="0" AutoGenerateColumns="false" Background="#FFDFF9F9" Height="76" VerticalAlignment="Top" Margin="2,82,0,0" HorizontalAlignment="Stretch"/>
代码 :
foreach (var r in importMappings)
{
var dgtc = new DataGridTextColumn();
dgtc.Binding = new Binding(string.Format("[{0}]", r.Key));
var sp = new StackPanel();
dgtc.Header = sp;
sp.Children.Add(new Label { Content = r.Key });
var combo = new ComboBox();
sp.Children.Add(combo);
combo.ItemsSource = excelHeaders;
int x = combo.SelectedIndex;
var selectedBinding = new Binding(string.Format("[{0}]", r.Key));
selectedBinding.Source = importMappings;
combo.SetBinding(Selector.SelectedIndexProperty, selectedBinding);
dgtc.CanUserSort = false;
dgtc.CanUserReorder = false;
dg.Columns.Add(dgtc);
}
实时取景:
滚动条在此处始终处于禁用状态。关于如何使滚动条工作的任何想法?