我正在尝试使用GridLabels在模型中显示时间:
GridLabels.Add(new BillboardTextItem
{
Text = String.Format("{0} {1} {2}", "Time = ",
Well.TubeAnimTime.ToString("N0"), "Sec"),
Position = new Point3D(0, 0, 500),
WorldDepthOffset = 100
});
我尝试使用滑块控件测试此功能:
<StackPanel>
<TextBlock Text="Animation" />
<Slider x:Name="AnimationSlider" Value="{Binding Well.TubeAnimTime}"
ToolTip="{Binding ElementName=AnimationSlider, Path=Value}"
Minimum="0" Maximum="100" Width="100" Margin="10"/>
</StackPanel>
尽管标签显示OK(确定)并响应所有移动和缩放,但它不响应Slider。我知道Slider可以正常工作,因为我模型中的其他元素对此都做出了响应。 我试图在以下位置将出价模式更改为TwoWay:
<h:BillboardTextGroupVisual3D Background="Gray" Foreground="White"
FontSize="12" Offset="2,2"
Padding="1" Items="{Binding GridLabels, Mode=OneWay,
UpdateSourceTrigger=PropertyChanged}"
IsEnabled="{Binding IsChecked, ElementName=FreezeAxisLblsCheckBox}" />
VS 2017不允许我,因为该属性似乎是只读的。
我真的很喜欢Helix Toolkit,但我似乎学习缓慢。任何人都可以解释为什么与Slider的绑定不起作用。还是有更简单的方法在诸如GridLabels的不同框中显示时间参数?
I.Konuk
答案 0 :(得分:0)
BillboardTextItem和BillboardTextGroupVisual3D.Items均不可观察。因此,绑定将不起作用。