2015-12-13 130 views
-1

c是一个具有一些属性的对象,name是其中之一。我使用所选对象的名称创建了一个文本块。我试图通过发送所有对象的信息跳转到新页面;我希望能够在另一个窗口中获取对象“c”的信息。发送对象信息到WPF中的另一个窗口C#

public MainWindow() 
    {  
     InitializeComponent(); 
    } 
private void b1_Click(object sender, RoutedEventArgs e) 
    { 
TextBlock t1 = new TextBlock(); 
     t1.Text = c.getName(); 
     s1.Children.Add(t1); 
Run run3 = new Run(c.getName()); 

     Hyperlink hyperlink = new Hyperlink(run3) 
     { 
      NavigateUri = new Uri("http://stackoverflow.com") 
     }; 
     hyperlink.RequestNavigate += new System.Windows.Navigation.RequestNavigateEventHandler(Hyperlink_RequestNavigate); //to be implemented 

     t1.Inlines.Clear(); 
     t1.Inlines.Add(hyperlink); 


    } 

    private void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e) 
    { 
     Window1 win1 = new Window1(); 
     win1.Show(); 
     this.Hide(); 
    } 

}

public Window1() 
    { 
     InitializeComponent(); 

     //i want to obtain the object c here 
     Console.write(c.getName()); 
     Console.write(c.getAddress()); 
     Console.write(c.getPrice()); 
        etc.... 
    } 

回答

1

添加一个构造函数来Window1,需要一个参考对象 'C'

public Window1(ObjectC c) 
{ 
    InitializeComponent(); 

    //i want to obtain the object c here 
    Console.write(c.getName()); 
    Console.write(c.getAddress()); 
    Console.write(c.getPrice()); 
       etc.... 
} 

然后更新:

private void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e) 
{ 
    ObjectC c = new ObjectC(); 
    Window1 win1 = new Window1(c); 
    win1.Show(); 
    this.Hide(); 
} 
+0

但现在我得到这个问题: 不一致的可访问性:参数类型'ObjectC'比方法'Window1.Window1(ObjectC c)' – pMpC

+0

确保'public'在你的ObjectC类声明的前面 – axlj

+0

谢谢你,它的工作! :d – pMpC

相关问题