I have a StepsWnd window in which UserControl StepProp is used twice, declared in a separate file.
How can I pass a parameter to the StepProp class constructor from the markup of the StepsWnd window, so that I can identify who is calling the constructor, m_PrevStep or m_CurStep?
You can't. XAML is a markup language and you cannot create an instance of a UserControl
using any other constructor than the default one that doesn't accept any arguments. So forget about using dependency injection in XAML.
If you want the constructor to behave differently depending on which instance you are creating, you should probably consider creating two different UserControl
types that for example may share the same base class or inheriting from one another.
Alternatively you could define and set a property as suggested in the comments:
...and handle any logic in the setter or the property (or the callback if you are defining a dependency propery).
Note that the property value won't be available in the constructor though as the instance must be created before the XAML processer can actually set the property.