using HeBianGu.Base.WpfBase; using HeBianGu.Control.Explorer; using HeBianGu.Service.Mvc; using HeBianGu.Window.Link; using Hopetry.Provider.Behaviors; using System.Windows; using System.Windows.Controls; using System.Windows.Media; using System.Windows.Threading; namespace HeBianGu.App.Disk.Send { /// /// HomeControl.xaml 的交互逻辑 /// public partial class SendControl : UserControl { public SendControl() { InitializeComponent(); this.Loaded += OnLoaded; } private async void OnLoaded(object sender, RoutedEventArgs e) { // 查找h:Explorer控件 var box = FindVisualChild(this); var fream= FindVisualChild(this); if (box != null &&fream!=null && this.DataContext is SendViewModel viewModel) { IActionResult result = await viewModel.SelectLink.GetActionResult(); var uielement = result.View as UIElement; fream.Content = uielement; } } // 辅助方法:在可视化树中查找指定类型的子元素 private static T FindVisualChild(DependencyObject parent) where T : DependencyObject { if (parent == null) return null; for (int i = 0; i < VisualTreeHelper.GetChildrenCount(parent); i++) { var child = VisualTreeHelper.GetChild(parent, i); if (child is T result) { return result; } var childResult = FindVisualChild(child); if (childResult != null) { return childResult; } } return null; } } }