Я хочу добавить путь WPF к InkCanvas
и использовать выделение для выбора пути WPF. Итак, я использую этот код.Почему ActualWidth и ActualHeight начинаются с 0,0?
System.Windows.Shapes.Path path = drawCanvas.Children[i] as System.Windows.Shapes.Path;
drawCanvas.Children.RemoveAt(i);
inkCanvas.Children.Add(path);
Это выход. Мне нужно выбрать путь WPF от 0,0, потому что Actualwidth
и ActualHeight
начинаются с 0,0.
Как выбрать абсолютный WPF путь?
Благодаря
Edit:
Теперь я могу выбрать его совершенно с помощью этого кода.
System.Windows.Shapes.Path path = drawCanvas.Children[i] as System.Windows.Shapes.Path;
drawCanvas.Children.RemoveAt(i);
path.Margin = new Thickness(-getMinX(path), -getMinY(path), 0, 0);
containPath.Children.Add(path);
containPath.Width = getMaxX(path) - getMinX(path);
containPath.Height = getMaxY(path) - getMinY(path);
containPath.Margin = new Thickness(getMinX(path), getMinY(path), 0, 0);
inkCanvas.Children.Add(containPath);
Я не думаю, что UpdateLayout ничего не сделает. – NVM
У нас недостаточно кода для проверки теории, но если 'UIElement.IsMeasureValid' является' false', нет надежды на правильность 'ActualWidth' и' ActualHeight'. –
См. Мой ответ. В моем предыдущем комментарии я хотел сказать, что UpdateLayout ничего не сделает для «Пути» – NVM