这是我第一次使用C#进行编码并在VS2010中构建应用程序。
我的任务是构建一个有两个窗口的应用程序。首先使用ListBox
包含多个项目。第二个在MouseDoubleClick
上打开任何项目。此时,将打开第二个窗口,其标题应与ListBoxItem Name 相同。
我已经找到了一种方法来做到这一点。但是没有运气。
此时我在代码中有这个:
...
namespace WpfApplication20
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void MenuItem_Click(object sender, RoutedEventArgs e)
{
var newWindow = new Window1();
newWindow.Show();
}
private void seznamSporocil_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
var newWindow = new Window1();
newWindow.Show();
}
}
}
最后,这应该是一个电子邮件应用程序,如Outlook或类似的。
感谢您的帮助!
答案 0 :(得分:0)
尝试以下操作:
var newWindow = new Window1();
newWindow.Title = listBox.SelectedItem.toString();
newWindow.Show();
链接:强>
http://msdn.microsoft.com/en-us/library/system.windows.controls.window.title.aspx
希望它有所帮助。
答案 1 :(得分:0)
虽然自由职业者的答案有些正确,但他的解决方案假定事件是并且将始终由该特定的ListBox触发。您应该使用sender参数来获取对触发事件的列表框的引用,如下所示:
private void seznamSporocil_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
var listBox = sender as ListBox;
var item = listBox.SelectedItem as ListBoxItem;
var newWindow = new Window1();
newWindow.Title = item.Content.ToString();
newWindow.Show();
}
某些错误检查也不会造成伤害,即验证发件人对象是否真的是ListBox-Type等。