ورود

View Full Version : اشکال این کد چیه؟



programmermp
دوشنبه 25 مرداد 1389, 11:34 صبح
<Viewport2DVisual3D>
<Viewport2DVisual3D.Geometry>
<MeshGeometry3D
Positions="0,0,0 0,0,10 0,10,0 0,10,10"
TriangleIndices="0,1,2 2,1,3"
TextureCoordinates="0,1 1,1 0,0 1,0"
/>
</Viewport2DVisual3D.Geometry>
<Viewport2DVisual3D.Material>
<DiffuseMaterial Viewport2DVisual3D.IsVisualHostMaterial="True" />
</Viewport2DVisual3D.Material>
<Viewport2DVisual3D.Visual>
<Border BorderBrush="Yellow" BorderThickness="1">
<StackPanel Margin="10">
<TextBlock Margin="3">This is 2D content on a 3D surface.</TextBlock>
<Button Margin="3">Click Me</Button>
<TextBox Margin="3">[Enter Text Here]</TextBox>
</StackPanel>
</Border>
</Viewport2DVisual3D.Visual>

<Viewport2DVisual3D.Transform>
<RotateTransform3D>
<RotateTransform3D.Rotation>
<AxisAngleRotation3D
Angle="{Binding ElementName=sliderRotate, Path=Value}"
Axis="0 1 0" />
</RotateTransform3D.Rotation>
</RotateTransform3D>
</Viewport2DVisual3D.Transform>
</Viewport2DVisual3D>

من این کد رو می نویسم توی قسمت xaml و قبلش تگ مربوط به گرید رو حذف می کنم
هیچ چیزی رو هم به فرم اضافه نمی کنم و هیچ خطایی هم نمی ده ولی وقتی برنامه را اجرا می کنم این خط رو روی فرم نشون می ده یعنی روی فرم فقط همین خط چاپ می شه



system.windows.media.media3d.viewport2dvisual3d


کار این کد هم اینه که یک مکعب باید رسم کنه و روی یک سطح از اون یک دکمه و تکست باکس قرار می گیره که می شه تو تکست باکس نوشت متنی رو ویا دکمه رو کلیک کرد

در ضمن کد رو از کتاب pro WPF in C#‎2008-second edition که نویسنده اون matthew macdonald و از انتشارات Apress بوده گرفتم

مشکل از کجاست که این رو نشون نمیده؟

رضا عربلو
دوشنبه 25 مرداد 1389, 15:51 عصر
یک دوربین و نور کم داره


<Viewport3D>
<Viewport3D.Camera>
<PerspectiveCamera Position="0, 0, 4"/>
</Viewport3D.Camera>

<Viewport2DVisual3D>
<Viewport2DVisual3D.Geometry>
<MeshGeometry3D Positions="0,0,0 0,0,10 0,10,0 0,10,10" TriangleIndices="0,1,2 2,1,3" TextureCoordinates="0,1 1,1 0,0 1,0" />
</Viewport2DVisual3D.Geometry>
<Viewport2DVisual3D.Material>
<DiffuseMaterial Viewport2DVisual3D.IsVisualHostMaterial="True"/>
</Viewport2DVisual3D.Material>
<Viewport2DVisual3D.Visual>
<Border BorderBrush="Yellow" BorderThickness="1">
<StackPanel Margin="10">
<TextBlock Margin="3">This is 2D content on a 3D surface.</TextBlock>
<Button Margin="3">Click Me</Button>
<TextBox Margin="3">[Enter Text Here]</TextBox>
</StackPanel>
</Border>
</Viewport2DVisual3D.Visual>
<Viewport2DVisual3D.Transform>
<RotateTransform3D>
<RotateTransform3D.Rotation>
<AxisAngleRotation3D Angle="40" Axis="0 1 0" />
</RotateTransform3D.Rotation>
</RotateTransform3D>
</Viewport2DVisual3D.Transform>
</Viewport2DVisual3D>
<!-- Lights -->
<ModelVisual3D>
<ModelVisual3D.Content>
<DirectionalLight Color="#FFFFFFFF" Direction="0,0,-1"/>
</ModelVisual3D.Content>
</ModelVisual3D>
</Viewport3D>