I would like to use the usual (new and nice) BarLegend[] with something like
BarLegend[{"LakeColors", 1/10000 {-2, 2}}]
which looks like

I don't like the numbers, i would like to use ScientificForm[] on them,
hence get $0.0002 = 2\times10^{-4}$ or even better - get just $2$ at the label and $\times 10^{-4}$ in the bottom right or something like that.
Is there a way to obtain ScientificForm[] for these labels? I searched the Documentation of the new ~Legends and haven't found anything. And the very best would be, to be able to specify the number of digits used (where i would like to have 3, e.g. $2.00\times10^{-4}$, so best would be ScientificForm[#,3] & to be applied to every number of the Legend.
Update
Surprisingly - following the approach of @Nasser M. Abbasi the two lines
f[x_] := ScientificForm[x, 2];
BarLegend[{"LakeColors", 1/10000 {-2, 2}}, LegendFunction -> f]
produce a Legend like

Though the second argument of ScientificForm[] gets ignored. Any further ideas why that does happen?
Update #2
Changing f to f[x_] := ScientificForm[N[{x} /. {DirectedInfinity -> Identity}], 2]; actually does change the number of digits, but returns the BarLegend in an Array and produces errors, that (1.,4.} is not a List of positive Integers (though they look quite Integer to me). Why there is an DirectInfinity approaching, I haven't found out yet, without the replacement, the 1. is a DirectedInfinity[1.]


BarLegendanymore trying that approach. I must admit, besides puting a Frame around the~LegendI don't see much use inLegendFunction ->. – Ronny Dec 21 '12 at 14:06