自定义ComboBox,简简单单实现

时间:2021-09-09 16:10:04
        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>