在我的WPF程序中,我有列表框控制:如何在對話框中顯示ListBox項目的數據?
<ListBox x:Name="mailsListBox" SelectionChanged="mailsListBox_SelectionChanged" >
<ListBoxItem Content="..." Background="#FFF3F3F3" Margin="0,0,0,1" />
<ListBoxItem Content="..." Margin="0,0,0,1"/>
<!-- ... -->
<ListBoxItem Content="..." Background="#FFF3F3F3" Margin="0,0,0,1" />
<ListBoxItem Content="..." Margin="0,0,0,1"/>
</ListBox>
當我按下它的分量,我需要出示dialog窗口,但在這裏我有什麼:
顯示相應的值:
public class Emails
{
public Emails()
{
AddMailsToList();
}
public List<string> mailsList = new List<string>();
public void AddMailsToList()
{
MainWindow obj = new MainWindow();
mailsList.Add(obj.mailsListBox.Items[0].ToString());
mailsList.Add(obj.mailsListBox.Items[1].ToString());
//...
mailsList.Add(obj.mailsListBox.Items[9].ToString());
// title of the mail
mailsList.Add("You have new message");
}
}
攔截點擊事件到元素列表框:
public partial class MainWindow : MetroWindow
{
private async void mailsListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
Emails obj = new Emails();
await this.ShowMessageAsync(
obj.mailsList[10],
obj.mailsList[mailsListBox.SelectedIndex]);
}
}
如何僅顯示對話框中需要的數據?
EDIT1:
我變薄我有一個錯誤的代碼結構,我需要使用ItemsSource
,但我不知道如何..
在你的' AddMailsToList',你爲什麼要做「MainWindow obj = new MainWindow();」 ?因爲你創建了一個新窗口,obj.mailsListBox應該是空的,不是嗎? – carndacier
@carndacier因爲它不在包含'ListBox'的表單的類中。這就是爲什麼我需要'obj'來從另一個類訪問'ListBoxItems' – dima
你能給我更多關於你想要的東西的細節嗎? 您希望當您單擊列表框中的某個項目時,顯示一個對話框,顯示所選項目文本? – carndacier