简体   繁体   中英

WPF ComboBox with checkboxes and textbox with search field show text box on scroll

How to display the textbox control on scroll of popup inside a combo box, this is continuation for WPF ComboBox with checkboxes and textbox with search field

Also I would like to display a line gap between text box and the combo box items binded

<Popup 
Name="Popup"
Placement="Bottom"                        
AllowsTransparency="True" 
Focusable="False"  IsOpen="{TemplateBinding IsDropDownOpen}"
PopupAnimation="Slide">
<Grid 
    Name="DropDown"
    SnapsToDevicePixels="True"  
    MinWidth="{TemplateBinding ActualWidth}"
    MaxHeight="{TemplateBinding MaxDropDownHeight}">
    <Border 
        x:Name="DropDownBorder"
        BorderThickness="1" Background="White"
        BorderBrush="Black"/>
    <ScrollViewer Margin="4,6,4,6" SnapsToDevicePixels="True" DataContext="{Binding}">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto" />
                <RowDefinition Height="*" />
            </Grid.RowDefinitions>
            <TextBox />
            <StackPanel Grid.Row="1" IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Contained" />
        </Grid>
    </ScrollViewer>
</Grid>

Try to put the ScrollViewer in the same Grid as the TextBox but in another row, eg:

<Popup 
    Name="Popup"
    Placement="Bottom"                        
    AllowsTransparency="True" 
    Focusable="False"  IsOpen="{TemplateBinding IsDropDownOpen}"
    PopupAnimation="Slide">
    <Grid 
        Name="DropDown"
        SnapsToDevicePixels="True"  
        MinWidth="{TemplateBinding ActualWidth}"
        MaxHeight="{TemplateBinding MaxDropDownHeight}">
        <Border 
            x:Name="DropDownBorder"
            BorderThickness="1" Background="White"
            BorderBrush="Black"/>
        <Grid Margin="4,6,4,6" SnapsToDevicePixels="True" DataContext="{Binding}">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto" />
                <RowDefinition Height="*" />
            </Grid.RowDefinitions>
            <TextBox />
            <ScrollViewer Grid.Row="1">
                <StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Contained" />
            </ScrollViewer>
        </Grid>
    </Grid>
</Popup>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM