У меня есть приложение, которое базируется на Индии, и я устанавливаю Культуру как:
Thread.CurrentThread.CurrentUICulture = new CultureInfo ("en-IN");
Приведенный выше код устанавливается до вызова метода Window - InitializeComponent.
Тем не менее это показывает $ как CurrencySymbol во всем TextBox.
Если я связываю TextBox следующим образом, он показывает 'Rs.' как CurrencySymbol:
Text="{Binding Salary,Mode=TwoWay,StringFormat=C,ConvertCulture=en-IN}".