Я пишу программу 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) искажает форму векторной графики. Я хочу, чтобы масштабирование происходило сразу для всего списка как объекта, оставляя относительный масштаб и расположение этих путей нетронутыми.