J'ai une bordure avec des coins arrondis dans un canevas et je souhaite ajouter une zone de découpage au canevas de sorte que tout ce que j'ajoute soit coupé à la zone dans la bordure. Je sais que je peux définir la propriété Clip de la toile, mais comme le canevas et l'objet sont dimensionnés dynamiquement plutôt que d'avoir des tailles assignées dans le XAML, je n'arrive pas à comprendre comment calculer le chemin à utiliser. Est-il possible de dériver un PathGeometry à partir d'un UIElement (la frontière dans ce cas)? Sinon, quelle est la meilleure façon d'aborder cela? Voici le XAML pour la page de test avec laquelle je travaille.Détermination dynamique du chemin dans Silverlight 2
<UserControl x:Class="TimelinePrototype.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid x:Name="LayoutRoot">
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition />
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" Margin="10">
<Button x:Name="cmdDraw" FontSize="18" Click="cmdDraw_Click" Content="Draw" Margin="0,0,5,0" VerticalAlignment="Bottom" />
<TextBlock x:Name="txtDateRange" FontSize="18" Margin="10,0,10,10" VerticalAlignment="Bottom" />
</StackPanel>
<Canvas x:Name="TimelineCanvas" Grid.Row="1" HorizontalAlignment="Stretch"
SizeChanged="TimelineCanvas_SizeChanged">
<Border x:Name="TimelineBorder"
Background="LightGray"
BorderBrush="Black"
BorderThickness="2"
CornerRadius="15"
Margin="10"
Grid.Row="1"
VerticalAlignment="Top">
</Border>
</Canvas>
</Grid>
J'avais pensé à utiliser ceux-ci mais je me demandais s'il y aurait une autre façon, plus intelligente, de le faire. –