wpf 下拉框列实现

下拉框列实现效果图
在这里插入图片描述
在这里插入图片描述

XAML源码:

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="589" Width="537" 
        xmlns:my="http://schemas.microsoft.com/wpf/2008/toolkit">
    <Grid>
        <!--<DockPanel >-->
            <!--<Button  DockPanel.Dock="Top">Button
            </Button>
            <TextBox  AcceptsReturn="True" DockPanel.Dock="Top" VerticalScrollBarVisibility="Visible">TextBox Test Test Test Test Test
            </TextBox>
            <Button Height="23" Name="button1" Width="75" DockPanel.Dock="Top">Button</Button>-->
            <my:DataGrid  Name="data" Height="200" Width="500" AutoGenerateColumns="False" >
            <my:DataGrid.Columns>
                <my:DataGridComboBoxColumn Header="下拉" DisplayMemberPath="name" SelectedValuePath="code" SelectedValueBinding="{Binding code}"></my:DataGridComboBoxColumn>
            </my:DataGrid.Columns>
        </my:DataGrid>

        <Button Height="23" HorizontalAlignment="Left" Margin="54,0,0,110" Name="button1" VerticalAlignment="Bottom" Width="75" Click="button1_Click">取值</Button>
        <Button Height="23" Margin="0,0,104,111.361" Name="button2" VerticalAlignment="Bottom" Click="button2_Click" HorizontalAlignment="Right" Width="75">赋值</Button>
        <TextBox Height="23" Margin="169,0,226,110" Name="textBox1" VerticalAlignment="Bottom"/>
        <!--</DockPanel>-->
    </Grid>
</Window>

C#源码:

public Window1()
        {
            InitializeComponent();
            //this.Loaded += new RoutedEventHandler(Window1_Loaded);
            DataGridComboBoxColumn dd = data.Columns[0] as DataGridComboBoxColumn;
            DataTable dt = new DataTable();
            dt.Columns.Add("code");
            dt.Columns.Add("name");
            dt.Rows.Add("1", "a");
            dt.Rows.Add("2", "b");
            dt.Rows.Add("3", "c");
            dt.Rows.Add("4", "d");
            dd.ItemsSource = dt.DefaultView;

            DataTable dte = new DataTable();
            dte.Columns.Add("code");
            dte.Columns.Add("tex");
            dte.Rows.Add("1", "a");
            dte.Rows.Add("2", "b");
            dte.Rows.Add("3", "c");
            dte.Rows.Add("4", "d");
            data.ItemsSource = dte.DefaultView;          
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            DataRowView drv = data.SelectedItem as DataRowView;
            textBox1.Text = drv["code"].ToString();
        }
        private void button2_Click(object sender, RoutedEventArgs e)
        {
            DataRowView drv = data.SelectedItem as DataRowView;
            drv["code"] = textBox1.Text;
        }

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值