Mike Swanson의 illustrator to xaml converter을 사용하여 일부 이미지를 xaml로 변환했습니다. convert는 이미지가 포함 된 뷰 박스를 만듭니다. 이 뷰 박스는 프로그램에서 리소스 파일을 만들었습니다.xaml 리소스를 동적으로 표시 하시겠습니까?
아래 코드는 내가하려고하는 것을 보여줍니다. Windings 유형의 PrimaryWinding이라는 열거 형 변수가있는 viewmodel이 있습니다. 열거 형의 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 클래스를 사용하여 도면 크기를 셀 크기로 조정해야합니까? 어떻게하면 동적으로 할 수 있습니까?