I'm trying to create a colored 3D model for my XNA game in Blender. I don't want to use textures - I need only solid colors. Here's the model, as seen in Blender:

After exporting to FBX and opening in Visual Studio 2012 (some kind of built-in viewer I guess), the lightning isn't perfect but the colors are preserved:

But something's wrong when I try to display it using XNA:

Here's my code for displaying objects:
protected void DrawModel(GameObject obj, bool semitransparent = false, float angle = 0.0f) { var transforms = new Matrix[obj.Model.Bones.Count]; obj.Model.CopyAbsoluteBoneTransformsTo(transforms); foreach(var mesh in obj.Model.Meshes) { foreach(BasicEffect effect in mesh.Effects) { effect.EnableDefaultLighting(); Game.GraphicsDevice.BlendState = semitransparent ? BlendState.AlphaBlend : BlendState.Opaque; effect.Alpha = semitransparent ? 0.5f : 1.0f; if(obj is Player == false) effect.DiffuseColor = obj.IsHighlighted ? new Vector3(1.0f, 0.0f, 0.0f) : new Vector3(1.0f, 1.0f, 1.0f); effect.World = transforms[mesh.ParentBone.Index]*Matrix.CreateRotationY(angle)*obj.TransformMatrix; effect.View = ViewMatrix; effect.Projection = ProjectionMatrix; } mesh.Draw(); } } Why is the whole model white instead of colored? I set colors of the parts by creating a new material and setting its diffuse component to the color I want. All other settings have their default values.
I thought that it's a matter of setting effect.VertexColorEnabled to true, but that gives me an InvalidOperationException saying The current vertex declaration does not include all the elements required by the current vertex shader. Color0 is missing.. Do I need some kind of shader that will understand Blender's vertex properties and will display the model correctly?