zoukankan      html  css  js  c++  java
  • MultiSelectComboBox(二)

    1. MainWindow.xaml

    <Window x:Class="MultiSelectDemo.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:ViewModel="clr-namespace:MultiSelectDemo"
            xmlns:control="clr-namespace:MultiSelectComboBox;assembly=MultiSelectComboBox"
            Title="MainWindow" Height="350" Width="525">
        <Window.Resources>
            <ViewModel:ViewModel x:Key="ViewModel"/>
        </Window.Resources>
        <Grid DataContext="{Binding Source={StaticResource ViewModel}}">
            <control:MultiSelectComboBox Width="100" Height="30" ItemsSource="{Binding Items}"
                                         DefaultText="input jjj"
                                         SelectedItems="{Binding SelectedItems,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
                                         />
        </Grid>
    </Window>

    2. MainWindowViewModel.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows;

    namespace MultiSelectDemo
    {
        public class MainWindowViewModel: NotificationObject
        {

            private Dictionary<string, object> _items;
            private Dictionary<string, object> _selectedItems;

            public Dictionary<string, object> Items
            {
                get
                {
                    return _items;
                }
                set
                {
                    _items = value;
                    NotifyPropertyChanged("Items");
                }
            }

            public Dictionary<string, object> SelectedItems
            {
                get
                {
                    return _selectedItems;
                }
                set
                {
                    _selectedItems = value;
                    NotifyPropertyChanged("SelectedItems");
                }
            }

            public MainWindowViewModel()
            {
                Items = new Dictionary<string, object>();
                Items.Add("Chennai", "MAS");
                Items.Add("Trichy", "TPJ");
                Items.Add("Bangalore", "SBC");
                Items.Add("Coimbatore", "CBE");

                SelectedItems = new Dictionary<string, object>();
                SelectedItems.Add("Chennai", "MAS");
                SelectedItems.Add("Trichy", "TPJ");
            }

            private void Submit()
            {
                foreach (KeyValuePair<string, object> s in SelectedItems)
                    MessageBox.Show(s.Key);
            }

        }

    }

  • 相关阅读:
    Python实现将IP地址转换为数字
    转 python两个 list 获取交集,并集,差集的方法
    并发编程之协程
    网络编程之协议
    网络编程
    python之路-模块和包
    python IO模型
    python 线程(队列,线程池),协程(理论greenlet,gevent模块,)
    python 线程(部分)Thread的使用,守护线程,互斥锁,递归锁,信号量,事件,条件,定时器
    常见的面试题
  • 原文地址:https://www.cnblogs.com/zisezhixin/p/4106907.html
Copyright © 2011-2022 走看看