C#WPF 3D(Helix工具包)-刷新模型

作为当前项目的一部分,我正在可视化导入的3D模型(.obj文件)。整个项目包含一个Windows窗体以及几个UserControl,我可以通过WinForm激活或停用它们。在其中一个UserControl中,我已经使用Helix Toolkit实现了WPF 3D,以显示已加载的模型。很好现在,在运行项目时,我希望能够与另一个模型交换我的模型。因此,我创建了一个按钮来为.obj文件选择其他路径。该按钮也应作为我的模型的刷新按钮。

初始化组件并单击按钮时,我调用一种方法(CheckOBJ),该方法检查天气是否定义了新的.obj路径。

public void CheckOBJ()
{

    if (String.IsnullOrEmpty(UserControlSettings.objPath))
    {
        ObjReader CurrentHelixObjReader = new ObjReader();
        System.Windows.Media.Media3D.Model3DGroup MyModel = CurrentHelixObjReader.Read(@"Path to default .obj file");
        mod.Content = MyModel;
    }
    else
    {
        ObjReader CurrentHelixObjReader = new ObjReader();
        System.Windows.Media.Media3D.Model3DGroup MyModel = CurrentHelixObjReader.Read(@UserControlSettings.objPath);
        mod.Content = MyModel;
        // Here a method should be called to refresh/update my WPF-model (preferred) or UserControl.
    }
}

public UserControlWPFCadmodel()
{
    InitializeComponent();
    Model.zoomExtents();
    CheckOBJ();
}

如果是(字符串不再为空),则应将模型交换为我选择的模型。我猜那很好。不起作用的是新模型的显示。因此,在后台,我认为我确实更改了模型,但未触发可视化。

是否有人对如何刷新WPF或UserControl有任何想法。我已经尝试过UserControl.Refresh()this.Refresh()Control.Refresh()

t314159 回答:C#WPF 3D(Helix工具包)-刷新模型

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3080801.html

大家都在问