WPF: How to pass WindowHandle to ViewModel using MVVM pattern
Create a Behavior with dependency property as shown below: using System; using System.Diagnostics.CodeAnalysis; using System.Windows; using System.Windows.Interactivity; using System.Windows.Interop; namespace My.Windows.Controls.Behaviors { [ExcludeFromCodeCoverage] public class WindowHandleMVVMBehavior : Behavior<Window> { public IntPtr WindowHandle { get { return (IntPtr)GetValue(WindowHandleProperty); } set { SetValue(WindowHandleProperty, value); } } public static readonly DependencyProperty WindowHandleProperty = DependencyProperty.Register("WindowHandle", typeof(IntPtr), typeof(WindowHandleMVVMBehavior), new FrameworkPropertyMetadata(IntPtr.Zero, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault)); protected override void OnAttached() { base.OnAttached(); if (AssociatedObject != null) { AssociatedObject.Loaded += OnWindowLoaded; } } private void OnWindowLoaded(object sender, RoutedEven...