天天看点

comboBox动态绑定及获取value,Text值

其实标题应该有疑义的,因为在comboBox中不存在Value,Text的值,只是为了和.net中的dropdownlist控件匹配一下,所以..............

MainPage.xaml

<UserControl x:Class="SilverlightApplication.MainPage"

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

    mc:Ignorable="d"

    d:DesignHeight="300" d:DesignWidth="400" Loaded="UserControl_Loaded">

    <StackPanel Name="LayoutRoot" Background="White">

        <ComboBox Margin="10" Width="300" Height="25" Name="comboBox1" DisplayMemberPath="Name" SelectedValuePath="ID">

        </ComboBox>

        <Button Content="Button" Height="23" Name="button1" Width="75" Click="button1_Click" />

        <TextBlock Height="23" Name="textBlock1" Text="TextBlock" />

    </StackPanel>

</UserControl>

MainPage.xaml.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Net;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Documents;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Animation;

using System.Windows.Shapes;

namespace SilverlightApplication

{

    public partial class MainPage : UserControl

    {

        public MainPage()

        {

            InitializeComponent();

        }

        private void UserControl_Loaded(object sender, RoutedEventArgs e)

        {

            List<Category> categories = new List<Category>{

                new Category{ ID=1,Name="选项1"},

                new Category{ ID=2,Name="选项2"},

                new Category{ ID=3,Name="选项3"},

                new Category{ ID=4,Name="选项4"}

            };

            comboBox1.ItemsSource = null;

            comboBox1.ItemsSource = categories;

            comboBox1.SelectedIndex = 1;//默认选中项

        }

        public class Category

        {

            public int ID { get; set; }

            public string Name { get; set; }

        }

        private void button1_Click(object sender, RoutedEventArgs e)

        {

            textBlock1.Text = (comboBox1.SelectedItem as Category).Name + "   " + (comboBox1.SelectedItem as Category).ID.ToString();

        }

    }

}

继续阅读