J'ai la structure suivante en XAML:Comment faire pour ajuster les limites d'un rectangle d'une toile à une autre toile?
<Grid>
<ItemsControl x:Name="Items" ItemsSource="{Binding Path=Pages}" Grid.Row="0" Grid.Column="0">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<!-- Display a white page for each page item -->
<local:PageView Margin="0, 25, 0, 0" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<!-- Layer used for displaying preview of drawn shape -->
<local:PreviewLayer x:Name="PreviewLayer" Grid.Row="0" Grid.Column="0"/>
</Grid>
Le client sera tiré sur la couche d'aperçu une forme, laisser supposer un rectangle. Une fois le dessin terminé, la forme sera ajoutée à la page en dessous de la forme.
Mon problème est le X, Y du rectangle résultant est dans le système de coordonnées du PreviewLayer. Comment puis-je convertir les limites d'un rectangle de la PreviewLayer à un PageView?
Je reçois actuellement le pageView nécessaire en utilisant (la variable page
est obtenue ailleurs)
UIElement pageView = (UIElement)this.Items.ItemContainerGenerator.ContainerFromItem(page);
Mais je ne sais pas comment obtenir les coordonnées du pageView retourné. L'utilisation de Canvas.GetLeft(pageView)
renvoie NaN
.
Comment puis-je obtenir les limites de Pageview?