Ich baue eine 3D-Anwendung mit Silverlight 5. Ich habe eine DrawingSurface, die eine Methode aufruft. Wenn ich jedoch eine Navigation: Frame zu meinem XAML hinzufüge, bekomme ich dann eine Fehlermeldung. HierNavigation hinzufügen: Frame verursacht NullReferenceException
ist die Methode in Frage:
private void DrawingSurface_Draw(object sender, DrawEventArgs e)
{
GraphicsDevice device = GraphicsDeviceManager.Current.GraphicsDevice;
device.Clear(ClearOptions.Target | ClearOptions.DepthBuffer,
new Microsoft.Xna.Framework.Color(0, 0, 0, 0), 10.0f, 0);
device.SetVertexBuffer(_vertexBuffer);
device.SetVertexShader(_vertexShader);
device.SetPixelShader(_pixelShader);
device.Textures[0] = _texture;
device.SamplerStates[0] = SamplerState.LinearClamp;
device.DrawPrimitives(PrimitiveType.TriangleList, 0,
_vertexBuffer.VertexCount/3);
device.SetVertexShaderConstantFloat4(0, ref _viewProjection);
e.InvalidateSurface();
}
Der Fehler ist auf der Linie device.DrawPrimitives(PrimitiveType.TriangleList, 0, _vertexBuffer.VertexCount/3);
. Der Fehler ist, dass "NullReferenceException von Benutzercode nicht behandelt wurde". Es kommt nicht ohne die Navigation vor: Frame.
Ich bin nicht vertraut mit diesem. Aber der Fehler sagt, dass 'PrimitiveType.TriangleList' und/oder' _vertexBuffer.VertexCount' null sind. Vielleicht sind sie zu diesem Zeitpunkt nicht bevölkert, wenn Sie versuchen, auf sie zuzugreifen. –
mögliche Duplikate von [Was ist eine NullReferenceException und wie behebe ich sie?] (Http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it) –
Bitte geben Sie einen Stack-Trace und alle inneren Ausnahmen an. – Nikhil