微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ModelVisual3D内容未更新

如何解决ModelVisual3D内容未更新

我真的是WPF HelixToolkit的新手。对于我的应用程序,我使用的是Helixtoolkit,在其中我将Robot作为来自viewPort3d中另一个类的实例加载。机器人对象作为一组Model3D加载。

public partial class View3DControl : UserControl,INotifyPropertyChanged
{
public View3DControl()
{
    InitializeComponent();
    if (!DesignerProperties.GetIsInDesignMode(this))
       RobotModel = MainWindow.Instance.RobotModel;  
}

public Robot3DModel RobotModel
{
    get
    {   return _robot3DModel;  }
    set
    {
        _robot3DModel = value;
        if (_robot3DModel != null)
            modelVisual3d.Content = _robot3DModel.Model3D;
    }
}

这是我的Viewport Xaml

<helix:HelixViewport3D   x:Name="viewPort3d" ZoomExtentsWhenLoaded="false" ShowCoordinateSystem="True" Background="{helix:LinearGradientBrush Gray,White}"   ShowCameraInfo="{Binding ShowCameraInfo}">
    <helix:HelixViewport3D.DefaultCamera>
        <PerspectiveCamera Position="1.386 0 0.351" LookDirection="-1.386 0 0" UpDirection="0.78 0 0.625"/>
    </helix:HelixViewport3D.DefaultCamera>
    <helix:DefaultLights/>
    <helix:GridLinesVisual3D Minordistance="0.5" Thickness="0.005" />
    <ModelVisual3D x:Name="modelVisual3d"  />
</helix:HelixViewport3D>

我有一堂课,我用几个WPF滑块旋转机器人关节。现在,我的目标是通过单击鼠标来选择机器人模型零件,并通过鼠标拖动来旋转所选零件。我正在使用VisualTreeHelper.HitTest通过匹配机器人对象和测试结果之间的绑定值来选择模型零件。模型已正确加载,并且当机器人处于认位置(笔直向前)时,我可以通过单击鼠标来选择机器人零件。但是,当我通过滑块类旋转机器人时,HitTest结果不会给出旋转的绑定值。它总是给出认位置的结果。尽管在视图中显示了旋转的模型,但看起来好像没有更改modelVisual3D的内容。我如何使它工作有帮助吗?还是有人可以建议其他方法

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。