Я бы не стал делать это по двум причинам:
1) Дизайн пахнет
2) Затеняет то, что на самом деле происходит
Что касается # 1, я говорю это, потому что для обработки события привязки данных он должен уже начать привязываться к чему-либо. Изменить то, к чему он привязан в середине потока, я бы не назвал идеальным дизайном.
Это приводит к # 2, в том случае, если кто-то создает один из ваших элементов управления и вызывает .DataBind () для него, и он внутренне начинает связываться с чем-то другим, вызывающему абоненту совершенно неясно, что происходит.
Хотя я не смотрел на это с технической точки зрения, мне кажется, что вы бы также повысили вероятность бесконечного цикла с рекурсивной привязкой данных. Думаю, мне действительно нужно увидеть какой-нибудь код, чтобы сказать, приемлемо ли то, что вы делаете, или есть ли лучшие способы сделать это.