標準のMessageBoxを置き換えるカスタムmessageBoxウィンドウを作成しました。ビューモデルからウィンドウを取得する
私のカスタムメッセージボックス(子ウィンドウ)は、引数として渡される親ウィンドウを必要とします。親ウインドウは、子ウインドウが指定された位置(Top Left、Top Centerなど)内に引数としても配置される場所です。
ビューモデルからカスタムのmessageBoxを呼び出すときに、ウィンドウを通過させる必要があります。ビューモデルにウィンドウを関連付けるにはどうしたらいいですか?
おそらく、コメントhereのようなインターフェイスを使用していますか?私はそれを実装しようとしていますが、this.DataContext.Viewは存在しません。私は、Visual Studioを使用してい
試行#1:私はコードビハインドコンストラクタからでXAMLからのDataContextを初期化していないソリューション
<Window x:Class="MyNamespace.Main"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:viewmodel="clr-namespace:MyNamespace.ViewModels">
<Window.Resources>
<viewmodel:MainViewModel x:Key="wMainViewModel" />
</Window.Resources>
<Grid DataContext="{StaticResource wMainViewModel}">
</Grid>
</Window>
を考慮しMM8、どのようにすることができますビューモデルをビューに渡しますか?
をメッセージボックスを処理するコードではありませんMVVMの*その他の部分? (のように、あなたのモデルではビジネスを持っていません) –
ViewModelに渡すか、 'Application.Current.MainWindow'を使います。しかし、ティモシー氏によると、あなたのViewModelはWindowsについて知りません。 –
[MVVMでメッセージボックスを表示する方法](https://stackoverflow.com/questions/3705991/how-to-show-messagebox-in-mvvm)の可能な複製 – Sinatr