[英]How do I turn a listbox into a string array in c# wpf?
我正在做一個項目,我必須在 windows 之間傳遞收據,我如何將列表框轉換為字符串數組以將其傳遞給另一個 window? 或者有沒有更簡單的方法來做到這一點?
對於您的描述,您希望將列表框轉換為字符串數組並將其傳遞給另一個 window。
你可以試試下面的代碼。
主窗口:
public MainWindow()
{
InitializeComponent();
listBox1.Items.Add("Mon");
listBox1.Items.Add("Tue");
listBox1.Items.Add("Wed");
listBox1.Items.Add("Thu");
listBox1.Items.Add("Fri");
}
public string[] result { get; set; }
private void btntest_Click(object sender, RoutedEventArgs e)
{
List<string> list = new List<string>();
foreach (string item in listBox1.Items)
{
list.Add(item);
}
result = list.ToArray();
Window1 window = new Window1();
window.Show();
}
窗口1:
public Window1()
{
InitializeComponent();
listBox2.ItemsSource = ((MainWindow)Application.Current.MainWindow).result;
}
假設您有一個像這樣的 WPF 列表框
<ListBox Name="listBox1" HorizontalAlignment="Left" VerticalAlignment="Top" Width="194" Height="200">
<ListBoxItem Content="aa"></ListBoxItem>
<ListBoxItem Content="bb"></ListBoxItem>
<ListBoxItem Content="cc"></ListBoxItem>
<ListBoxItem Content="dd"></ListBoxItem>
<ListBoxItem Content="ee"></ListBoxItem>
<ListBoxItem Content="ff"/>
</ListBox>
您可以使用 Linq 獲取字符串 [] 中的項目,如下所示
ItemCollection i1 = listBox1.Items;
string[] s1 = i1.Cast<ListBoxItem>().Select(x => (string)x.Content).ToArray();
而已。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.