I know this is an old post, but for future reference, this problem has been solve in a different post: https://discourse.pyrevitlabs.io/t/select-model-element-from-ui-upon-button-click/1512
You hide and show the window before and after your selection with:
self.Hide()
self.Close()
so your code looks something like this:
def face(self, sender, args):
self.Hide()
a = uidoc.Selection.PickObject(Autodesk.Revit.UI.Selection.ObjectType.Face)
self.Close()