Download the cube class required for this tutorial here: CollisionCube.cs

Basically, when doing collision at the bone level, you want to get some sort of bounding structure for a bone. There are many ways to do this - you can get a bounding box, bounding sphere, bounding rectangular prism, etc.

This tutorial will show you how to use bounding boxes.
    // Add this as a member variable
    ModelAnimator otherDwarf;

    // Add this to LoadGraphicsContent
    otherDwarf = new ModelAnimator(this, model);
    otherDwarf.World = Matrix.CreateTranslation(5, 0, 5);
    // Add these as member variables
    Cube leftElbow, head;
    // Add this in load graphics content
    head = new Cube(graphics.GraphicsDevice, Color.Red, 1.2f);
    leftElbow = new Cube(graphics.GraphicsDevice, Color.Green, .6f);
    head.Projection = projection;
    leftElbow.Projection = projection;
    // Add this to the Draw method
    head.View = view;
    head.World =
        dwarfAnimator.GetAbsoluteTransform(
        dwarfAnimator.BonePoses["head"].Index) * dwarfAnimator.World;
        head.Draw();

    leftElbow.View = view;
    leftElbow.World =
        otherDwarf.GetAbsoluteTransform(
        otherDwarf.BonePoses["lelbo"].Index) * otherDwarf.World;
    leftElbow.Draw();
    // Add this to the Draw method
    if (head.GetBoundingBox().Intersects(leftElbow.GetBoundingBox()))
    {
        leftElbow.Color = Color.Blue;
    }
    else
    {
        leftElbow.Color = Color.Green;
    }

}}