首页 > 代码库 > 简单的拼成一个内有datagrid的combobox

简单的拼成一个内有datagrid的combobox

                    <Border Height="22" BorderBrush="DarkGray" BorderThickness="1">                        <StackPanel Orientation="Horizontal">                            <TextBlock x:Name="TesTextBox" Height="20" Width="154"/>                            <Button Height="20" Width="14" Click="Button_Click">                                <Popup x:Name="Popup1" Height="300" StaysOpen="False">                                    <Border BorderBrush="DarkGray"  BorderThickness="1">                                        <DataGrid x:Name="TestDataGrid" CanUserReorderColumns = "false"                                                  IsReadOnly="True" SelectionChanged="TestDataGrid_SelectionChanged"/>                                    </Border>                                </Popup>                            </Button>                        </StackPanel>                    </Border>

然后 datagrid进行item赋值

testDatagrid.ItemSource = ...

最后实现一下事件

private void Button_Click(object sender, RoutedEventArgs e)        {            Popup1.PlacementTarget = TesTextBox;            Popup1.Placement= PlacementMode.Bottom;            Popup1.IsOpen = true;        }        private void TestDataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)        {            TesTextBox.Text = (TestDataGrid.SelectedItem as DataRowView).Row["c_Code"].ToString();        }

搞定!

如图: