我将代码列添加到datagrid视图。
public List<DateTime> DaysOfMonth { get; set; }
public static List<DateTime> GetDates(int year, int month)
{
return Enumerable.Range(1, DateTime.DaysInMonth(year, month))
.Select(day => new DateTime(year, month, day))
.ToList();
}
//add to datagrid
DaysOfMonth = GetDates(DateTime.Now.Year, DateTime.Now.Month);
Dps.Columns.Add(new DataGridTextColumn { Header = "Raw material" });
Dps.Columns.Add(new DataGridTextColumn { Header = "Description" });
Dps.Columns.Add(new DataGridTextColumn { Header = "Part No" });
foreach (var d in DaysOfMonth)
{
Dps.Columns.Add(new DataGridTextColumn { Header = d.ToShortDateString() , FontSize = 14});
}
XAML:
<DataGrid Name="Dps"
Margin="2,2,2,2"
VerticalScrollBarVisibility="Visible"
HorizontalScrollBarVisibility="Visible" />
如果我在datagrid中有例如30列滚动条仍然隐藏我不知道为什么。
答案 0 :(得分:0)
我依赖于DataGrid所在的容器。如果你是f.e.在DataGrid中,DataGrid只会增长,你就不会有滚动条。
答案 1 :(得分:0)
除非您的数据网格中确实有项目,否则水平滚动条不会显示。
如果你有一些场景,你的DataGrid没有项目,但你的列足够宽,需要一个水平滚动条,而不是使用DataGrid本身的ScrollBar属性......我发现它更容易放入而是将DataGrid直接转换为ScrollViewer。
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Margin="2,2,2,2">
<DataGrid Name="Dps" />
</ScrollViewer>