簡體   English   中英

如何將列表框轉換為 c# wpf 中的字符串數組?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM