MVVMとPRISMを学習し、TextBoxのDropイベントとDragEnterイベントを処理しようとしています。MVVMとPrism - ViewModelでTextBox_DragEnterとTextBox_Dropイベントを処理する方法
私はこれが正常に動作しているEventArgsを取ることはありません他のイベントのためにこれをやって何の問題を持っていない
public ButtonsViewModel()
{
//If statement is required for viewing the MainWindow in design mode otherwise errors are thrown
//as the ButtonsViewModel has parameters which only resolve at runtime. I.E. events
if (!(bool)DesignerProperties.IsInDesignModeProperty.GetMetadata(typeof(DependencyObject)).DefaultValue)
{
svc = ServiceLocator.Current;
events = svc.GetInstance<IEventAggregator>();
events.GetEvent<InputValidStatus>().Subscribe(SetInputStatus);
StartCommand = new DelegateCommand(ExecuteStart, CanExecute).ObservesProperty(() => InputStatus);
ExitCommand = new DelegateCommand(ExecuteExit);
}
}
private bool CanExecute()
{
return InputStatus;
}
private void ExecuteStart()
{
InputStatus = true;
ERA Process = new ERA();
Proces.Run();
}
をクリックボタンに成功し、これを行うために管理しています。したがって、EventArgsと対話する必要はないため、Dropメソッドを実装すると問題ありません。
しかしTextbox_DragEnterイベントでそれは私の最初の考えはのICommandを作成し、TextBox_DragEnterイベントにバインドすることだったとのViewModel内のTextBoxのDragDropEffects
private void TextBox_DragEnter(object sender, DragEventArgs e)
{
e.Effects = DragDropEffects.Copy;
}
を設定DragDropEffectsプロパティこの更新プログラムを持っています。しかし、テキストボックスにエフェクトをバインドする方法はわかりません。
私はこの間違いを考えているかもしれません。これを行う適切な方法は何ですか?
私は背後にあるコードで簡単にこれらのイベントを設定することができます知っているが、私はこれを行うと、純粋に、これは理にかなってMVVMパターンに
希望を使用してそれを維持したくありません。
私はイベントにプロパティを追加してから、これらのプロパティのイベントのパラメータをViewModelに渡したと思います。 – ganchito55
ビューからどのようにしましたか? – gheff
はい、私はより良い解決策を見つけませんでした – ganchito55