zoukankan      html  css  js  c++  java
  • WPF DataGrid中单元格运用Combobox的示例

    效果图:

    前端代码:

    <Window x:Class="WPFDemo.MainWindow"
            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"
            xmlns:local="clr-namespace:WPFDemo"
             xmlns:core="clr-namespace:System;assembly=mscorlib"
            mc:Ignorable="d"
            Title="MainWindow" Height="450" Width="800">
        <Window.Resources>
            <ObjectDataProvider x:Key="SexEnumKey" MethodName="GetValues" ObjectType="{x:Type core:Enum}">
                <ObjectDataProvider.MethodParameters>               
                    <x:Type Type="local:SexEnum"/>  
                </ObjectDataProvider.MethodParameters>
            </ObjectDataProvider>
        </Window.Resources>
        <Grid>
            <DataGrid Name="DG1" ItemsSource="{Binding}" CanUserAddRows="False" AutoGenerateColumns="False">
                <DataGrid.Columns>
                    <DataGridComboBoxColumn Header="性别" SelectedItemBinding="{Binding Sex}" ItemsSource="{Binding Source={StaticResource  SexEnumKey}}"></DataGridComboBoxColumn>
                </DataGrid.Columns>
            </DataGrid>
        </Grid>
    </Window>

    后端代码:

    using System.Collections.ObjectModel;
    using System.Windows;
    
    namespace WPFDemo
    {
        /// <summary>
        /// MainWindow.xaml 的交互逻辑
        /// </summary>
        public partial class MainWindow : Window
        {
            ObservableCollection<DTO> list = new ObservableCollection<DTO>();
            public MainWindow()
            {
                InitializeComponent();
    
                for (int i = 0; i < 5; i++)
                {
                    list.Add(new DTO()
                    {
                        Sex = i == 0 ? SexEnum.boy : SexEnum.girl
                    });
                }
                DG1.DataContext = list;
            }
        }
        public enum SexEnum { boy, girl }
        public class DTO
        {
            public SexEnum Sex { get; set; }
        }
    }
  • 相关阅读:
    webpack
    npm
    关于js click事件、touch事件的 screen 、client
    同源策略、jsonp、阻塞事件
    关于height、width、top
    新建空白图片
    配置环境
    异常02
    异常01
    集合框架08
  • 原文地址:https://www.cnblogs.com/jasonlai2016/p/12445838.html
Copyright © 2011-2022 走看看