Привязка к ViewModel и CodeBeind многоразового UserControl - PullRequest
0 голосов
/ 05 мая 2018

У меня есть usercontrolX , который я создал, чтобы использовать его более одного раза в представлении PageX . он содержит кнопку и текстовое поле, и я хочу связать текстовое поле со свойством в PageXModelView , и кнопка должна сделать что-то в моем usercontrolXModelView .

Проблема в том, что когда я добавляю usercontrolX к представлению, я могу связать его со свойством PageX, только если я связываю текстовый текст с usercontrolX за кодом , а не с usercontrolXModelView и для кнопки она работает только в том случае, если я связываю ее со свойством в usercontrolXModelView , поэтому есть решение для привязки usercontrolX к usercontrolXModelView и usercontrolX за кодом

  • Вот проект:

Просмотров: UserControlX, Page, MainWindow

ModelViews: UserControlXMV, PageMV, MainWindowMV

< UserControl x:Class="APPia.Views.Usercontrolx" mc:Ignorable="d"  Name="Usercontrolx">
    < Button Name="B1" Content="Button" Command="{Binding UpdateCommandx, Mode=OneWay}"/>
    < Label Name="L21" Content="{Binding Path=propX,ElementName=Usercontrolx}"/>
</UserControl>


<UserControl x:Name="PageX"">
<Grid>
<TextBox Text="{Binding persowxn.Name, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
<UserControlX x:Name="Contx1" propX="{Binding persowxn.Name}" />
<UserControlX x:Name="Contx2" propX="{Binding persowxn.Surname}" />
</Grid>
</UserControl>

1 Ответ

0 голосов
/ 05 мая 2018

В коде вашего пользовательского элемента управления добавьте свойство зависимостей. Затем свяжите содержимое метки пользовательского элемента управления с этим свойством зависимости. А затем привяжите свойство зависимостей пользовательского элемента управления к свойству модели представления вашей страницы.

То же самое для кнопки внутри пользовательского элемента управления ...

...