コンボボックスにリストされているアニメーションの名前を選択して、Visual Basic 2010 WPF Mainwindow の別のパス アニメーションにアップロードしようとしています。したがって、WPF には、この時点で 2 つの名前が入ったコンボボックスを含むメイン ウィンドウがあり、それぞれ別の PathAnimation を持つ Window1 と Window2 もあります。プログラムの実行中にメイン ウィンドウにアニメーション 1 またはアニメーション 2 をロードする方法がわかりません。私は少し迷っています
質問する
349 次
1 に答える
0
これは、私がまとめた簡単な例です。ViewBox をコンテナとして使用しています。これがうまくいくかどうかを確認してください
MainWindow.xmal
<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="697" Width="697" xmlns:my="clr-namespace:WpfApplication1">
<Grid>
<Viewbox Name="TrackContainer" VerticalAlignment="Top" HorizontalAlignment="Stretch"></Viewbox>
<Button Content="Button" Height="23" HorizontalAlignment="Center" Margin="360,600,240,0" Name="Button1" VerticalAlignment="Top" Width="75" />
<ComboBox Height="23" Name="ComboBox1" Width="120" SelectionChanged="ComboBox1_SelectionChanged" Margin="41,600,514,35">
<ComboBoxItem Content="Daytona" />
<ComboBoxItem Content="SecondTrack" />
<ComboBoxItem Content="None" />
</ComboBox>
</Grid>
</Window>
MainWindow.xaml.vb
Class MainWindow
Private Sub Button1_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click
Select Case CType(ComboBox1.SelectedValue, ComboBoxItem).Content.ToString
Case "Daytona"
CType(TrackContainer.Child, UserControl1).runPathAnimation()
Case "SecondTrack"
CType(TrackContainer.Child, UserControl2).runPathAnimation()
End Select
End Sub
Private Sub ComboBox1_SelectionChanged(sender As System.Object, e As System.Windows.Controls.SelectionChangedEventArgs)
Dim cmbox As ComboBox = CType(sender, ComboBox)
Select Case CType(cmbox.SelectedValue, ComboBoxItem).Content.ToString
Case "Daytona"
TrackContainer.Child = New UserControl1()
Case "SecondTrack"
TrackContainer.Child = New UserControl2()
Case "None"
TrackContainer.Child = Nothing
End Select
End Sub
End Class
于 2012-12-18T02:44:39.647 に答える