异常消息是“值不在预期范围内”。这是代码:
private void PrintButton_Click(object sender, RoutedEventArgs e)
{
PrintDocument pd = new PrintDocument();
pd.PrintPage += (s, pa) =>
{
Viewbox vb = new Viewbox();
vb.Child = MainGrid; // MainGrid is a System.Windows.Controls.Grid.
pa.PageVisual = vb;
};
pd.Print("Test Page");
}
我在这里做错了吗?
答案 0 :(得分:6)
当您尝试设置已将父级作为容器的子级的UIElement时,当您尝试添加具有相同“name属性的UIElement的两个实例时,会出现”值不在预期范围内“错误“到父容器等。在您的示例中,MainGrid必须是另一个容器的子容器,因此无法添加为Viewbox的子容器。从它的父级删除MainGrid,然后将其添加到Viewbox。完成后,从Viewbox中删除MainGrid并将其添加回原始父级。