我創建了一個模型(多維數據集)並將其添加到我的視口,它可以正常工作,沒有任何問題。wpf中的清晰視口
this.mainViewport.Children.Add(model);
無論何時我使用以下代碼,該多維數據集將變爲黑色而不是原始顏色。
this.mainViewport.Children.Clear(); this.mainViewport.Children.Add(model);
我需要清除視口,因爲我在下一秒將其添加到另一個位置。任何建議來解決這個問題將不勝感激。
我創建了一個模型(多維數據集)並將其添加到我的視口,它可以正常工作,沒有任何問題。wpf中的清晰視口
this.mainViewport.Children.Add(model);
無論何時我使用以下代碼,該多維數據集將變爲黑色而不是原始顏色。
this.mainViewport.Children.Clear(); this.mainViewport.Children.Add(model);
我需要清除視口,因爲我在下一秒將其添加到另一個位置。任何建議來解決這個問題將不勝感激。
我會做這樣的事情,而不是: 創建多維數據集首次在它開始的位置:
ModelVisual3D model = new ModelVisual3D();
model.Content = cube;
然後在計時器我會改變變換機智的新位置:
model.Transform = new TranslateTransform3D(X, Y, Z); // model need to be a field in your class
其他可用的transorms有:
ScaleTransform3D
RotateTransform3D
MatrixTransform3D
Transform3DGroup
我知道這是一個老問題,但正確的答案可以幫助別人。立方體得到黑色的,因爲this.mainViewportChildren.Clear()
還消除光源(任何),使立方體得到原來的顏色,你必須添加到您的代碼是這樣的:
this.mainViewport.Children.Add(new ModelVisual3D() { Content = new AmbientLight(Colors.White) });
包含在mainViewPort顏色?我認爲你不應該清除孩子。視口具有獨立於諸如光,變換等對象的其他東西。爲什麼你需要清除()? – MBen 2012-07-09 17:45:56
感謝您的回覆。實際上我需要改變立方體的位置(在一個數據文件中,我有不同的3D點,我根據這些點改變了立方體的位置,我創建了一個計時器並根據計時器讀取下一個數據,並可視化對象因此),我認爲這是最簡單的方法。任何建議 – MKS 2012-07-09 17:55:15
這裏是我的代碼: ModelVisual3D model = new ModelVisual3D(); model.Content = cube; this.mainViewport.Children.Clear(); this.mainViewport.Children.Add(model); – MKS 2012-07-09 17:57:46