正如我在标题中提到的,GridLine不显示在Helixtoolkit MVVM实例中。我找不到问题的根源。我的申请如下:
<HelixToolkit:HelixViewport3D ItemsSource="{Binding Objects}">
<HelixToolkit:GridLinesVisual3D Width="600"
Length="600"
Thickness="0.1"
MinorDistance="5"
MajorDistance="10"
Fill="Black"
Visible="True" />
</HelixToolkit:HelixViewport3D>
这是因为您正在覆盖。
有几种方法可以解决这个问题:
选项1:包括GridLinesVisual3D
在您的Objects
动态(可能在您的ViewModel
),而不是在XAML的HelixViewport3D
内。
<hx:HelixViewport3D ItemsSource="{Binding Objects}"/>
//Pseudo code in ViewModel, depends on how you are using it or on the type of "Objects"...
var myGrid = new GridLinesVisual3D();
Objects.Add(myGrid);
选项2:你可以把一个ModelVisual3D
(或其他容器,使用哪一个真的取决于你在做什么),并传递你的对象给它,同时保持GridLinesVisual3D
定义在HelixViewport3D
。
<hx:HelixViewport3D>
<hx:SunLight/>
<hx:GridLinesVisual3D ... />
<ModelVisual3D Content="{Binding myModelVisual3D.Content}"/>
</hx:HelixViewport3D>