У меня есть главное окно, содержащее несколько пользовательских элементов управления. Как показано ниже
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<StackPanel Grid.Row="0">
<controls:FileControl x:Name="FileControl" />
<controls:FControl x:Name="FControl"/>
</StackPanel>
<controls:MessagesControl Grid.Row="1" x:Name="MessagesControl" />
</Grid>
Теперь внутри FControl у меня есть панель стека, которая состоит из множества элементов управления, как показано ниже, и список, который виден при наборе текста в текстовом поле, можно сказать как автозаполнение.
<Expander>
<StackPanel>
<textBox></textBox>
<ComboBox></ComboBox>
<ListBox Panel.ZIndex="100" ItemsSource="{Binding Collection}" SelectedIndex="{Binding Path=SelectedItemIndex, Mode=TwoWay}" Visibility="{Binding VisibiltyAttr}" HorizontalAlignment="Center" VerticalAlignment="Bottom">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseLeftButtonUp">
<i:InvokeCommandAction Command="{Binding RelativeSource={RelativeSource AncestorType=ItemsControl},
Path=DataContext.SelectionCommand}" CommandParameter="{Binding}"></i:InvokeCommandAction>
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBlock>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
</Expander>
Теперь проблема в том, что этот Listbox занимает место, когда он виден в окне. Я хочу показать этот ListBox для отображения поверх всех элементов управления, включая другие элементы управления пользователя, которые находятся в главном окне.
Как показать, что этот ListBox перекрывает другие элементы управления. Пожалуйста, предложите решения, я попробовал z-index в списке, но он не работал.