You can make just one UserControl with properties that expose the differences between them, such as
public class MyUserControl
....
public bool IsColumn1ReadOnly{
get{ return v_uc1.v_datagrid.Columns[1].IsReadOnly;}
set {return v_uc1.v_datagrid.Columns[1].IsReadOnly = value;}
}
then in XAML you would instantiate the control like this:
<my:MyUserControl IsColumn1ReadOnly="True"/>
<my:MyUserControl IsColumn1ReadOnly="False"/>