マイクスワンソンのillustrator to xaml converterを使って、私の画像の一部をxamlに変換しました。 convertは、画像を含むビューボックスを作成します。これらのビューボックスは自分のプログラムでリソースファイルを作成しました。xamlリソースを動的に表示しますか?
以下のコードは、私がやろうとしていることを示しています。Windings型のPrimaryWindingというenum変数を持つビューモデルがあります。 enumの値PrimDおよびPrimYは、リソース内のそれぞれのPrimDおよびPrimY xamlファイルを選択する。
<UserControl.Resources>
<DataTemplate x:Key="PrimTrafo" DataType="{x:Type l:Windings}">
<Frame Source="{Binding}" x:Name="PART_Image" NavigationUIVisibility="Hidden">
<Frame.LayoutTransform>
<ScaleTransform ScaleX="0.5" ScaleY="0.5"/>
</Frame.LayoutTransform>
</Frame>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding}" Value="PrimD">
<Setter TargetName="PART_Image" Property="Source" Value="Resources\PrimD.xaml" />
</DataTrigger>
<DataTrigger Binding="{Binding}" Value="PrimY">
<Setter TargetName="PART_Image" Property="Source" Value="Resources\PrimY.xaml" />
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</UserControl.Resources>
<!--The contentcontrol that holds the datatemplate defined above-->
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"></ColumnDefinition>
<ColumnDefinition Width="2*"></ColumnDefinition>
<ColumnDefinition Width="1*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<ContentControl Grid.Column="0" Content="{Binding PrimaryWinding}" ContentTemplate="{StaticResource PrimTrafo}"/>
</Grid>
このコードは機能します。グリッドセルのサイズに合わせて図面のサイズを変更することはできません。画像のサイズを変更するScaleTransformクラスを追加しました。
フレームが図面を保持する間違ったクラスですか?
ScaleTransformクラスを使用して図面をセルのサイズにリサイズする必要がありますか?そして、私はそれをどのように動的に行うことができますか?