Установка Viewbox.Child вызывает ArgumentException - PullRequest
2 голосов
/ 01 ноября 2010

Сообщение об исключении: «Значение не попадает в ожидаемый диапазон». Вот код:

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");
}

Я что-то здесь не так делаю?

1 Ответ

6 голосов
/ 01 ноября 2010

Ошибка «Значение не попадает в ожидаемый диапазон» возникает при попытке установить UIElement, у которого уже есть родительский элемент в качестве дочернего элемента контейнера, при попытке добавить два экземпляра UIElement с одинаковым свойством name "к родительскому контейнеру и т. д. В вашем примере MainGrid должен быть дочерним по отношению к другому контейнеру и поэтому не может быть добавлен как дочерний по отношению к Viewbox. Удалите MainGrid из родительского, затем добавьте его в Viewbox. Когда вы закончите, удалите MainGrid из окна просмотра и добавьте его обратно к исходному родителю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...