2012-01-31 31 views
-4

我想構建一個應用程序。我希望我的課程能夠訪問我的窗口上的諸如Grid,Canvas,Button等項目。Visual Studio:如何訪問課堂中的項目?

但是我可以從main調用這些項目。
我試圖使用引用,但我的嘗試已經完全失敗。

<Window x:Class="WpfApplication1.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="590" Width="855"> 
    <Grid> 
     <Canvas Height="428" HorizontalAlignment="Left" Margin="12,12,0,0" Name="myCanvas" VerticalAlignment="Top" Width="647" Background="White"> 
      <Label Content="Label" Height="29" Name="Label1" Canvas.Left="283" Canvas.Top="0" /> 
      <Label Content="Label" Height="28" Name="Label2" Canvas.Left="329" Canvas.Top="1" /> 
      <Rectangle Height="30" Width="30" Fill="#49D8FF00" Canvas.Left="83" Canvas.Top="164" Name="user"></Rectangle> 
      <Button Canvas.Left="593" Canvas.Top="6" Content="FindPath" Height="23" Name="button1" Width="88" Click="button1_Click" /> 
      <Label Canvas.Left="568" Canvas.Top="66" Content="Display Map here" Height="251" Width="253" Name="mapDisplayer" /> 
     </Canvas> 
    </Grid> 
</Window> 

這是我的程序的XAML代碼。我想訪問這些許多項目之一。 我試圖使用每個項目的名稱來調用。 如myCanvas,但我得到一個錯誤,說當前上下文中不存在名稱'myCanvas'。

+4

請告訴我們你嘗試過什麼至今。 – 2012-01-31 17:51:49

+2

你能告訴我們你的課程(或其中的一部分)嗎?您是否記得在頂部放置正確的「使用」語句? – 2012-01-31 17:51:57

+0

這是一個VB或C#的問題嗎?我不確定什麼是「Visual Basic C#」。 C#標籤是否正確?也許你的意思是「Visual Studio C#」?我們肯定需要更多的信息和代碼... – 2012-01-31 17:54:03

回答

2

你的代碼是如何實現的?我不確定我是否理解你的問題,但我認爲你需要獲得主窗體的實例。

例如

class myClass 
{ 
    public myClass(Window1 instance) 
    { 
     instance.myGrid.Width= 512; 

     //Window1 .myGrid.Width= 512; will not work because myGrid is not static. 
    } 
} 

public partial class Window1 : Window 
{ 
    public Window1() 
    { 
     myClass m = new myClass(this); 
    } 
} 
+0

我有一個單獨的class.I想要這個單獨的類有一個構造函數,要求MainWindow中的任何Canvas工具,以便它可以在類中操作Canvas。它有道理嗎? – Bug 2012-01-31 18:05:47

+0

然後我提供的代碼就是你要找的。創建類時,需要將「this」(當前實例)傳遞給類,以便它可以使用它。 – Corylulu 2012-01-31 18:09:43

+0

我應該用什麼來訪問Form1? – Bug 2012-01-31 18:11:32

相關問題