从listboxitem名称设置窗口标题

本文关键字:设置 窗口标题 listboxitem | 更新日期: 2023-09-27 18:16:07

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

谢谢你的帮助!

从listboxitem名称设置窗口标题

虽然freelancer的回答在某种程度上是正确的,但他的解决方案假设事件一直是由一个特定的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,等等

尝试如下:

var newWindow = new Window1();
newWindow.Title = listBox.SelectedItem.toString();
newWindow.Show();

链接:

http://msdn.microsoft.com/en-us/library/system.windows.controls.window.title.aspx