从listboxitem名称设置窗口标题

时间:2013-05-30 09:50:08

标签: c# wpf window set title

这是我第一次使用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或类似的。

感谢您的帮助!

2 个答案:

答案 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等。