노하우를 여쭙니다.
현재 저의 상황은 MainWindow.xaml에 UserControl이 2개 있고, 그 UserControl이 같은 UI 레벨에 있는 Slider의 Value를 참조하고자 하여 아래와 같이 했습니다.
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="20"/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Slider Name="MySlider"
HorizontalAlignment="Left"
VerticalAlignment="Bottom"
Width="1200"
Minimum="0"
Maximum="100"
IsSnapToTickEnabled="True"
TickFrequency="1"
Grid.Row="0">
<dxmvvm:Interaction.Behaviors>
<dxmvvm:EventToCommand EventName="ValueChanged"
Command="{Binding SliderValueChangedCommand}"
CommandParameter="{Binding ElementName=MySlider, Path=Value}"/>
</dxmvvm:Interaction.Behaviors>
</Slider>
<local:PTProgressBarVM Grid.Row="1"
ProgressValue="{Binding ElementName=MySlider, Path=Value}"/>
<local:PTProgressBarWipe Grid.Row="2"
ProgressValue="{Binding ElementName=MySlider, Path=Value}"/>
<!--<local:PTProgressBar Grid.Row="1"/>-->
<!--<local:PTProgressBarOpenCV Grid.Row="1"/>-->
</Grid>
이렇게 각 PTProgressBarVM, PTProgressBarWipe UserControl에서 DP(ProgressValue)에 Slider의 Value를 바인딩한 다음,
각각의 UserControl에서는 DP에 바인딩된 값을 자기자신과 바인딩된 ViewModel에 넘겨주고 싶습니다.
이런 경우 어떤식으로하면 WPF스럽고 깔끔하게 할 수 있을까요?
제가 해본 것은 dxmvvm에 있는 Messenger를 통해 ViewModel로 값을 넘겨주는 것들인데, 이런 것 말고 좀 xaml이나 wpf에 의존적인 기능으로 처리하고 싶어서 여쭤봅니다.
그래서 일부러 DP를 사용했습니다.