2
J'ai un peu de xaml collé à la fin de cette question. C'est à partir d'un fichier de ressources dans mon projet.Refrappage XAML - Comment extraire le balisage commun
HierarchicalDataTemplate et DataTemplate partagent exactement la même structure. Existe-t-il un moyen d'extraire les parties communes et de les référencer?
<HierarchicalDataTemplate DataType="{x:Type local:ChapterViewModel}"
x:Key="ChapterOutcomesTemplate"
ItemsSource="{Binding Path=Chapter.Outcomes}"
ItemTemplate="{StaticResource AssignedOutcomeTemplate}">
<StackPanel Orientation="Horizontal">
<Image Height="16"
Width="16"
Margin="0,0,0,0"
RenderOptions.BitmapScalingMode="NearestNeighbor"
SnapsToDevicePixels="True"
Source="{Binding Source={x:Static images:DocumentImages.Outcomes}}"
Visibility="{Binding IsOutcomesAssigned, Converter={StaticResource BooleanToVisibility}, Mode=OneWay}"
/>
<Image Height="16"
Width="16"
RenderOptions.BitmapScalingMode="NearestNeighbor"
SnapsToDevicePixels="True"
Margin="5,0,0,0"
Source="{Binding Source={x:Static images:DocumentImages.Chapter}}"
/>
<TextBlock Text="{Binding Chapter.Name}"
Margin="5,0,0,0" />
</StackPanel>
</HierarchicalDataTemplate>
<DataTemplate x:Key="ItemTemplate">
<StackPanel Orientation="Horizontal">
<Image Height="16"
Width="16"
Margin="0,0,0,0"
RenderOptions.BitmapScalingMode="NearestNeighbor"
SnapsToDevicePixels="True"
Source="{Binding Source={x:Static images:DocumentImages.Outcomes}}"
Visibility="{Binding IsOutcomesAssigned, Converter={StaticResource BooleanToVisibility}, Mode=OneWay}" />
<Image Height="16"
Width="16"
RenderOptions.BitmapScalingMode="NearestNeighbor"
SnapsToDevicePixels="True"
Margin="5,0,0,0"
Source="{Binding Source={x:Static images:DocumentImages.Chapter}}" />
<TextBlock Text="{Binding Chapter.Name}"
Margin="5,0,0,0" />
</StackPanel>
</DataTemplate>
Hi Drew. Connaissez-vous des outils qui aident à faire des refactorings comme celui-ci? Semblable à comment resharper pourrait le faire dans le code .. Cheers – Berryl
@Berryl - Je n'ai pas encore vu d'outils pour cela, mais je suis sûr qu'ils vont bientôt surface. Peut-être un projet amusant pour quelqu'un qui veut essayer l'API du plugin ReSharper. –
@DrewNoakes Je suppose qu'il ne sera pas sage de continuer à attendre :-) – itsho