Хм, есть причина, почему вы не используете его дважды?Если вы привязываетесь к виртуальной машине (как DataContext) с теми же свойствами, она будет «просто работать» не иначе, как привязка двух TextBlocks (или другого «обычного» элемента управления) к одному и тому же свойству в виртуальной машине.
Здесь я использую тот же элемент управления в том же окне, но его также легко можно использовать в том же UserControl, DataTemplate и т. Д. - что бы вы ни определяли как «представление».
XAML
<Window x:Class="MyNamespace.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MyNamespace"
Title="My Window" Width="300" Height="300">
<StackPanel>
<local:MyUserControl x:Name="control1"
SomeProperty="{Binding MyMVVMProperty}" />
<local:MyUserControl x:Name="control2"
SomeProperty="{Binding MyMVVMProperty}" />
<TextBlock x:Name="txt1"
Text="{Binding AnotherMVVMProperty}" />
<TextBlock x:Name="txt2"
Text="{Binding AnotherMVVMProperty}" />
<TextBlock x:Name="txt3"
Text="{Binding AThirdMVVMProperty}" />
</StackPanel>
</Window>
Код сзади
class Window1 : Window
{
MyViewModel mViewModel = new MyViewModel();
public Window1()
{
this.DataContext = mViewModel;
}
}