|
WPF. Несколько датаконтекстов в пределах формы
|
|||
---|---|---|---|
#18+
НужнО решение. :) Имею форму Form, в её DataContext положена ViewModel_1 { public int ID1; } На форме лежит пользовательский контрол UserControl { public int SomeID; }, который в своём DataContext -е имеет другую ViewModel_2. ेXaml формы: <Form><UserControl SomeID={Binding ID1} /></Form> Связь бы работала, будь у них общий датаконтекст, но контексты разные. Что-нибудь можно поправить, за исключением Xaml -а формы, чтобы заработало? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2015, 20:52 |
|
WPF. Несколько датаконтекстов в пределах формы
|
|||
---|---|---|---|
#18+
...Андрей...НужнО решение. :) Имею форму Form, в её DataContext положена ViewModel_1 { public int ID1; } На форме лежит пользовательский контрол UserControl { public int SomeID; }, который в своём DataContext -е имеет другую ViewModel_2. ेXaml формы: <Form><UserControl SomeID={Binding ID1} /></Form> Связь бы работала, будь у них общий датаконтекст, но контексты разные. Что-нибудь можно поправить, за исключением Xaml -а формы, чтобы заработало? есть несколько путей решения: а) использовать относительный источник в связывании "{Binding ID1, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Form}}}" б) использовать DataProvider для обоих ViewModel и обращаться к ним типа {Binding ID1, Source={StaticResources ViewModel1}} в) в моделе ViewModel_2 должна быть ссылка на ViewModel_1, тогда можно будет указать {Binding Model1.ID1} г) осмыслить, что такая модель по сути своей неверная, так модель View, с моделью ViewModel плохо совместима, переосмысли некоторые вопросы, подумай, нужна ли вообще ViewModel_2 или почему в ViewModel_2 нет тех свойств, которые она должна отражать во View. Удачи ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2015, 22:21 |
|
WPF. Несколько датаконтекстов в пределах формы
|
|||
---|---|---|---|
#18+
Roman Mejtes{Binding ID1, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Form}}} сорян ошибка {Binding DataContext.ID1, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Form}}} ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2015, 22:22 |
|
|
start [/forum/topic.php?fid=21&fpage=16&tid=1440829]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 264ms |
total: | 401ms |
0 / 0 |