通用 Windows 平台 (UWP)
一个 Microsoft 平台,用于生成和发布适用于 Windows 桌面设备的应用。
50 个问题
你好
我正在尝试从代码端删除 GridView 项之间的间距。
我在创建打印预览页面时会这样做。
我编写了这样的代码:
GridView printPageGridView = new GridView();
List<FrameworkElement> printPreviewPages = new List<FrameworkElement>();
void CreatePrintPreviewPages(object sender, PaginateEventArgs e)
{
printPageGridView.Items.Clear();
Style style = new Style();
style.TargetType = typeof(GridViewItem);
Setter marginSetter = new Setter();
marginSetter.Property = GridViewItem.MarginProperty;
marginSetter.Value = 0;
style.Setters.Add(marginSetter);
printPageGridView.ItemContainerStyle = style;
printPageGridView.UpdateLayout();
printPreviewPages.Clear();
Rectangle r1 = new Rectangle();
r1.Width = 400;
r1.Height = 200;
r1.StrokeThickness = 1;
r1.Stroke = new SolidColorBrush(Colors.Red);
Rectangle r2 = new Rectangle();
r2.Width = 400;
r2.Height = 200;
r2.StrokeThickness = 1;
r2.Stroke = new SolidColorBrush(Colors.Red);
printPageGridView.Items.Add(r1);
printPageGridView.Items.Add(r2);
printPreviewPages.Add(printPageGridView);
printDocument.SetPreviewPageCount(printPreviewPages.Count, PreviewPageCountType.Final);
}
但这行不通。打印预览中的“我的页面”还是有间距。
在此情况下,是否可以删除 GridView 项之间的空格?
此问题由GridView items spacing code behind, in CreatePrintPreviewPages event handler - Microsoft Q&A总结而来.
你好,
根据文档 FrameworkElement.Margin,
默认 Thickness是等于 0 。
您需要使用 Thickness 来设置 MarginProperty 的值。
Setter marginSetter = new Setter();
marginSetter.Property = GridViewItem.MarginProperty;
marginSetter.Value = new Thickness(0);
谢谢。
如果答案是正确的解决方案,请点击“接受答案”并投赞成票。如果您对此答案有其他疑问,请点击“评论”。
注意:如果您想接收此线程的相关电子邮件通知,请按照我们文档中的步骤启用电子邮件通知。