пиша C# WPF програма за преглед и редактиране на SVG. Така че имам списък с пътеки (PathList) и ги възпроизвеждам вътре в граница на платно, ето моят XAML:
<ItemsControl ItemsSource="{Binding PathList}" >
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas>
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDown" >
<cmd:EventToCommand Command="{Binding Path= OnMouseDownCommand}" PassEventArgsToCommand="True" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Canvas>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Viewbox Stretch="Uniform" Height="500" Width="500">
<Path Stroke="{Binding Stroke}"
StrokeThickness="{Binding StrokeThickness}"
Fill="{Binding Fill}"
Data="{Binding Data}"
Tag="{Binding Tag}"
</Viewbox>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
както казах в заглавието, целта ми е да побера тези пътеки в рамка и както можете да видите в моя код, използвах Viewbox за разтягане на пътеките, но проблемът е, че тя разтяга всяка пътека в списъка, за да запълни размера (500 *500) изкривяване на формата на векторната графика.. искам мащабирането да се случи с целия списък наведнъж като цяло, оставяйки относителния мащаб и местоположенията на тези пътища непокътнати.