Don't know in what context you use the Usercontrol but this problem can be solved simply by reducing the visibility of the properties
internal Alignment FirstAlignment
{
get
{
Alignment align = null;
using (Transaction tr = HostApplicationServices.WorkingDatabase.TransactionManager.StartTransaction())
{
align = (Alignment)CivilApplication.ActiveDocument.GetAlignmentIds([0].GetObject(OpenMode.ForRead);
tr.Commit();
}
return align;
}
}