A few suggestions:
I would make the Christian "princess" a Greek-speaking Christian noble of the still-surviving Eastern Roman Empire (AKA "Byzantine Empire") during the Crusades. Maybe she is a cousin of the emperor? Or, better yet, a scion of a very old "fallen" house, like the house of Theodosius the Great. She is betrothed to a Greek merchant because of his wealth (I wouldn't make him gay). While her betrothed is away in the Black Sea, the Christian noblewoman falls in love with either:
a) a Moslem captain of mercenaries serving the Byzantine army (he's an Arab who hates the Seljuk Turks)
b) a moderate and kind Moslem Seljuk captain who is occupying the Byzantine province in Anatolia in which the noblewoman currently resides.
Though the Byzantines are reasonably tolerant of the Moslems (the Byzantines only want their lands back), the newly-arrived Crusaders shipped in from France are uncouth barbarians who are out to slaughter all Moslems, Jews and even many Greek-Orthodox Christians. Conflict occurs when one of the brutish French barons or knights tries to make the girl his concubine. I wouldn't make him gay either.
If this were to happen in Western Europe as you suggested, there really would be no Moslems around other than in Italian ports like Venice or in Spain fighting the Spanish re-conquest. The former case would resemble Othello too much. The latter case would not make the girl a victim of society so much as a traitor to her country at war. Of course, one final option is that the girl could be a French, Spanish or Italian noblewoman taken captive by Moslem pirates in the Mediterranean and sold as a slave in North Africa. There, she falls in love with her new owner who is a genteel Moslem nobleman (I got that story from one of the side-stories in Don Quixote)