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);
            }

        }

    }

  • 相关阅读:
    Android : reletive layout
    Android Studio 使用图片
    Android 笔记一:线性布局
    Qt笔记——右键菜单
    Qt笔记——连接第三方库&用libZPlay库获取音频文件的艺术家、专辑等信息
    git常用命令总结
    Qt项目——数字内容管理系统的参考资料和细节
    .Net转Java自学之路—基础巩固篇二十二(XML)
    .Net转Java自学之路—基础巩固篇二十一(模块化思想)
    .Net转Java自学之路—基础巩固篇二十(Lambda)
  • 原文地址:https://www.cnblogs.com/zisezhixin/p/4106907.html
Copyright © 2011-2022 走看看