我想將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);
這是輸出。我必須從0,0中選擇WPF Path,因爲Actualwidth
和ActualHeight
從0,0開始。
如何選擇絕對WPF路徑?
感謝
編輯:現在
,我完全可以通過使用此代碼選擇它。
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 2011-01-05 05:35:32
我們沒有足夠的代碼來測試理論,但是如果'UIElement.IsMeasureValid'是'false',那麼'ActualWidth'和'ActualHeight'沒有希望是正確的。 – 2011-01-05 05:42:46
請看我的答案。在我之前的評論中,我的意思是說,UpdateLayout不會爲「路徑」做任何事情。 – NVM 2011-01-05 05:44:55