ฉันกำลังพยายามสร้างฉาก 3 มิติเพื่อแสดงโมเดลของฉันในรูปแบบกราฟิก โมเดลของฉันมีวัตถุ N รายการ (objA, objB, ...) แต่ละวัตถุได้มาจากคลาสนามธรรมที่มีคุณสมบัติบางอย่างเช่น ตำแหน่ง, ด้วย, ความสูง, ความยาว ฯลฯ
ในขณะนี้ Viewport3D ของฉันเสร็จสิ้นในลักษณะนี้:
<Viewport3D>
...
<ModelVisual3D Content="{StaticResource objAView}">
<ModelVisual3D.Transform>
<Transform3DGroup>
<ScaleTransform3D ScaleX="{Binding Path=objA.Width}" ScaleY="{Binding Path=objA.Height}" ScaleZ="{Binding Path=objA.Length}"/>
<TranslateTransform3D OffsetX="{Binding Path=objA.Position.X}" OffsetY="{Binding Path=objA.Position.Y}" OffsetZ="{Binding Path=objA.Position.Z}"/>
</Transform3DGroup>
</ModelVisual3D.Transform>
</ModelVisual3D>
<ModelVisual3D Content="{StaticResource objBView}">
<ModelVisual3D.Transform>
<Transform3DGroup>
<ScaleTransform3D ScaleX="{Binding Path=objB.Width}" ScaleY="{Binding Path=objB.Height}" ScaleZ="{Binding Path=objB.Length}"/>
<TranslateTransform3D OffsetX="{Binding Path=objB.Position.X}" OffsetY="{Binding Path=objB.Position.Y}" OffsetZ="{Binding Path=objB.Position.Z}"/>
</Transform3DGroup>
</ModelVisual3D.Transform>
</ModelVisual3D>
...
</Viewport3D>
เป็นไปได้หรือไม่ที่จะหลีกเลี่ยงการเขียน Transform3DGroup ใหม่สำหรับแต่ละ ModelVisual3D โดยที่เกือบจะเหมือนกัน
ขอบคุณ