私はグリッド配列を持っていて、私はすべてのgrid.eachグリッドをセルのテキストボックスに印刷したい
グリッドは ShowGridLines = false;
に設定され、テキストボックスの枠線を削除するメソッドもあります。
private void DeletBorder()
{
Thickness bor = new Thickness(0.0);
for (int i = 0; i < this.gridArray.Length; i++)
{
foreach (Control ctrl in this.gridArray[i].Children)
{
if (ctrl.GetType() == typeof(TextBox))
{
((TextBox) ctrl).BorderThickness = bor;
}
}
}
}
私はこのメソッドで配列のすべてのグリッドを印刷しようとしています:
private void button1_Click(object sender, RoutedEventArgs e)
{
if (this.comboBox1.SelectedIndex > -1)
{
PrintDialog printDlg = new PrintDialog();
this.DeletBorder();
if (printDlg.ShowDialog() == true)
{
this.DeletBorder();
foreach (Grid item in this.gridArray)
{
printDlg.PrintVisual(item, "Stiker Print Job");
}
}
}
else
{
MessageBox.Show("you must select the page layout first");
}
}
結果として、最初のページだけがborder/gridLinesなしで印刷され、他のページはまだborder/gridLinesで印刷されます