none
WPF listbox.SelectedValue如何給值? RRS feed

  • 問題

  • 如題,我有一個listbox想要設定SelectedValue可是一直都取不到值...

    設定listbox.SelectedValue=new ListUnit("a","b","c");

    卻無法讓select選值...

     

    public class ListUnit
            {
                public string a { set; get; }
                public string b { set; get; }
                public string c { set; get; }
                public ListUnit(string _a, string _b, string _c)
                {
                    this.a = _a;
                    this.b = _b;
                    this.c = _c;
                }
            }
    

    請各位大大幫忙><

     

    2011年9月3日 上午 03:25

解答

  • WPF的listbox.SelectedValue

    要給ListBoxItem

    例如:

            private void Window_Loaded(object sender, RoutedEventArgs e)
           {
                listBox1.Items.Add(new ListBoxItem() { Content = "a" });
                listBox1.Items.Add(new ListBoxItem() { Content = "b" });
                listBox1.Items.Add(new ListBoxItem() { Content = "c" });
    
                listBox1.SelectedValue = listBox1.Items[1];
    
            }
    

     

    參考:http://arcanecode.com/2007/09/10/wpf-listbox/

    http://social.msdn.microsoft.com/forums/en-US/wpf/thread/c3bc638b-7c7a-40c8-a472-73bfad47c9ce

    或參考以上第二個連結

    藉由設定SelectedValuePath屬性

    就可以達到類似WinForm一樣,可以給SelectedValue字串值

            private void Window_Loaded(object sender, RoutedEventArgs e)
            {
                listBox1.Items.Add(new ListBoxItem() { Content = "a" });
                listBox1.Items.Add(new ListBoxItem() { Content = "b" });
                listBox1.Items.Add(new ListBoxItem() { Content = "c" });
    
                listBox1.SelectedValuePath="Content";
                listBox1.SelectedValue = "c";
            }

     


    Shadowと愉快なコード達


    • 已編輯 Shadow .Net 2011年9月3日 上午 03:44
    • 已標示為解答 yanchi 2011年9月3日 下午 06:51
    2011年9月3日 上午 03:37

所有回覆

  • WPF的listbox.SelectedValue

    要給ListBoxItem

    例如:

            private void Window_Loaded(object sender, RoutedEventArgs e)
           {
                listBox1.Items.Add(new ListBoxItem() { Content = "a" });
                listBox1.Items.Add(new ListBoxItem() { Content = "b" });
                listBox1.Items.Add(new ListBoxItem() { Content = "c" });
    
                listBox1.SelectedValue = listBox1.Items[1];
    
            }
    

     

    參考:http://arcanecode.com/2007/09/10/wpf-listbox/

    http://social.msdn.microsoft.com/forums/en-US/wpf/thread/c3bc638b-7c7a-40c8-a472-73bfad47c9ce

    或參考以上第二個連結

    藉由設定SelectedValuePath屬性

    就可以達到類似WinForm一樣,可以給SelectedValue字串值

            private void Window_Loaded(object sender, RoutedEventArgs e)
            {
                listBox1.Items.Add(new ListBoxItem() { Content = "a" });
                listBox1.Items.Add(new ListBoxItem() { Content = "b" });
                listBox1.Items.Add(new ListBoxItem() { Content = "c" });
    
                listBox1.SelectedValuePath="Content";
                listBox1.SelectedValue = "c";
            }

     


    Shadowと愉快なコード達


    • 已編輯 Shadow .Net 2011年9月3日 上午 03:44
    • 已標示為解答 yanchi 2011年9月3日 下午 06:51
    2011年9月3日 上午 03:37
  • 大大您好,

    我使用第二個方法順利的取到值了

    感謝大大

    2011年9月5日 下午 04:35