私はPrismを使ってWPFアプリケーションを構築していますが、私のShell.xaml
ファイルの中にStoryboard
があります。ストーリーボードは、リージョン内のユーザーコントロール内のボタンによってトリガーされます。私Shell.xaml
は、次のようになります。Prism Shellでストーリーボードを開始するには、内側のボタンをクリックしてください
<Window ...>
<Window.Resources>
<ResourceDictionary>
<Storyboard x:Key="myStoryboard">...</Storyboard>
</ResourceDictionary>
</Window.Resources>
<ContentControl x:Name="wizard" prism:RegionManager.RegionName="MyRegion" />
</Window>
ボタンは、ビューモデルでコマンドに取り付けられています。
<UserControl ...>
<Button x:Name="myButton" Command="{Binding WizardCommand}">
MyButton
</Button>
</UserControl>
そして最後に、前のユーザーコントロールに対応するビューモデル::私はストーリーボードを実行するために取るべき手順
[Export(typeof(MyViewModel))]
public class MyViewModel
{
private readonly DelegateCommand _wizardCommand;
public ICommand WizardCommand { get { return _wizardCommand; } }
public MyViewModel()
{
_wizardCommand = new DelegateCommand(StartWizard);
}
private void StartWizard()
{
??????
}
}
地域MyRegion
に注入されたユーザーコントロールは、次のようになりますmyStoryboard
内側Shell.xaml
WizardCommand
からMyRegion
までです。
:あなたの
ShellViewModel
でこのイベントをサブスクライブし、ビューモデルからストーリーボードを実行する方法についてごMyViewModel.StartWizard
チェックこの質問をして、このイベントを公開します。ありがとう! –