2012-06-18 22 views
0

我想要做的是找到一種方法來知道對象(圖像)的座標(或任何屬性),以便我可以使用它來編碼在圖像上放置橢圓的位置。我發現了一些討論如何在堆棧面板中查找texbox的位置的東西,但是當我嘗試使用該示例時,它會引發「TargetInvocationException未處理」的疑惑。也許我只是不明白如何參考不同的對象。我知道這個問題出現在第一個Dim語句中。如何在後面的vb代碼中找到對象的座標?

在XAML:

<Window x:Class="MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525"> 
    <Canvas x:Name="Can1">  
     <Image x:Name="Table1" Source="c:\images\table.jpg" Width="100" Height="100" Canvas.Left="75" Canvas.Top="75" /> 
     <Ellipse Canvas.Left="100" Canvas.Top="100" Width="50" Height="50" Stroke="Green" StrokeThickness="4" /> 
    </Canvas> 
</Window> 

並在代碼:

Class MainWindow 
    Dim gt1 As GeneralTransform = Table1.TransformToAncestor(Can1) 
    Dim currentpoint As Point = gt1.Transform(New Point(0, 0)) 
End Class 
+0

沒有看到的人,說是留下評論任何評論。 – SDanks

+0

這是一個菜鳥的錯誤。 我沒有把事件下的代碼。我專注於命令而不是整體結構。 修正: 類主窗口 私人小組MainWindow_Loaded(BYVAL發件人爲對象,BYVALË作爲System.Windows.RoutedEventArgs)處理Me.Loaded 昏暗GT1作爲GeneralTransform = Table1.TransformToAncestor(CAN1) 昏暗當前點作爲點= GT1.Transform(New Point(0,0)) End Sub – SDanks

+0

當然,系統不會讓我自我回答8小時,直到我有10分。所以請不要理會。 – SDanks

回答

1

所以它應該是:

 Class MainWindow 
     Private Sub MainWindow_Loaded(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles Me.Loaded 
     Dim GT1 As GeneralTransform = Table1.TransformToAncestor(Can1) 
     Dim currentpoint As Point = GT1.Transform(New Point(0, 0)) 
     End Sub 
    End Class 
相關問題