Обратите внимание, что значение свойства не будет доступно в конструкторе, хотя экземпляр должен быть создан до того, как обработчик XAML сможет фактически установить свойство.

я есть окно StepsWnd, в котором UserControl StepProp используется дважды, объявленный в отдельном файле.

 <Window x:Class="MyProject.StepsWnd"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:c1="http://schemas.componentone.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:MyProject"
    Height="550" Width="850">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <local:StepProp Grid.Column="0" DataContext="{Binding Path=PrevStepVM}" x:Name="m_PrevStep"/>
        <local:StepProp Grid.Column="1" DataContext="{Binding Path=CurStepVM}" x:Name="m_CurStep"/>
    </Grid>
</Window>

Когда окно StepsWnd создано, конструктор StepProp вызывается дважды - для m_PrevStep и для m_CurStep.

public class StepProp : UserControl
{
    public StepProp()
    {
        InitializeComponent();
    }
    //...
}

Как передать параметр конструктору класса StepProp из разметки окна StepsWnd, чтобы я мог определить, кто вызывает конструктор, m_PrevStep или m_CurStep? Чтобы получить что-то подобное?

public class StepProp : UserControl
{
    public StepProp(object parameter)
    {
        InitializeComponent();
        if ((string)parameter == "PrevStep")
        {
            //todo somthing
        }
        else if ((string)Param == "CurStep")
        {
            //todo somthing else
        }
    }
    //...
}

Ответы на вопрос(0)

Ваш ответ на вопрос