自定义ComboBox,简简单单实现

        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 = (dataGrid.SelectedItem as DataRowView).Row["c_AirStrategyExpCode"].ToString();

        }
            dataGrid.ItemsSource = ds.Tables[0].DefaultView;

            dataGrid.LoadingRow += DataGridOnLoadingRow;

 

                <StackPanel Orientation="Horizontal" Height="40">

                    <TextBlock  Text="ComboBox:" Height="18" Width="70" />

                    <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" Style="{StaticResource FrameBtnStyle4}">

                                <Popup x:Name="Popup1" Height="300" StaysOpen="False">

                                    <Border BorderBrush="DarkGray"  BorderThickness="1">

                                        <DataGrid x:Name="dataGrid" GridLinesVisibility = "None" CanUserReorderColumns = "false"

                                                  Style="{StaticResource DataGridStyle1}" RowStyle="{StaticResource DataGridRowStyle1}"

                                                  CellStyle="{StaticResource DataGridCellStyle1}" ColumnHeaderStyle="{StaticResource DataGridColumnHeaderStyle1}"

                                                  IsReadOnly="True" SelectionChanged="TestDataGrid_SelectionChanged"/>

                                    </Border>

                                </Popup>

                            </Button>

                        </StackPanel>

                    </Border>

                </StackPanel>

你可能感兴趣的:(combobox)