Files
test_demo/MX-PD-盘古 - new/PanGu.DieBonderApp/MainShell/Converter/ScreenToViewModelConverter .cs

40 lines
1.1 KiB
C#
Raw Normal View History

using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Data;
namespace MainShell.Converter
{
public class ScreenToViewModelConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value == null) return null;
var viewModelType = value.GetType();
var viewName = viewModelType.FullName.Replace("ViewModel", "View");
var viewType = Type.GetType(viewName);
if (viewType != null)
{
// 创建View实例并设置其DataContext为当前的ViewModel
var view = (FrameworkElement)Activator.CreateInstance(viewType);
view.DataContext = value;
return view;
}
return null;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}