J'ai un contrôle des éléments sur ma fenêtre et quand il est double-cliqué je veux ouvrir une seconde fenêtre. Mon problème est que si le contrôle des éléments est enveloppé dans une visionneuse de défilement, la nouvelle fenêtre apparaît derrière la fenêtre principale au lieu de devant elle. Si commentez la visionneuse de défilement dans ce code, la fenêtre s'ouvre à l'avant comme prévu.Pourquoi WPF ScrollViewer provoque l'ouverture de la fenêtre derrière la fenêtre principale?
Que se passe-t-il ici?
fenêtre XAML:
<Window x:Class="EktronDataUI.TestWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="TestWindow" Height="300" Width="300">
<Grid>
<ScrollViewer>
<ItemsControl ItemsSource="{Binding Source={StaticResource odpMockSmartForms}}" MouseDoubleClick="ItemsControl_MouseDoubleClick" >
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="Double Click Me" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</ScrollViewer>
</Grid>
</Window>
code Derrière:
private void ItemsControl_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
TestWindow window = new TestWindow();
window.Show();
}
Oui et non. La fenêtre apparaît à l'avant comme à son habitude, mais le contenu ne défile pas –
En utilisant cette approche, avez-vous essayé de contraindre explicitement la hauteur/largeur de la grille? – Ragepotato