Я застрял в этой проблеме несколько дней, не могу ее решить:
У меня есть несколько представлений V1
, V2
, ..., с моделью представления V1vm
,V2vm
, ..., каждый с использованием UserControl
MyUC
, с моделью представления MyUCvm
.UserControl MyUC
зависит от bool
присоединенного свойства myParam
.Допустим, представление V1
определяет значение через CheckBox.Я могу связать myParam
с CheckBox.IsChecked
в V1
XAML:
<UserControl x:Class="V1" ...>
...
<CheckBox x:Name="cb" />
<MyUC local:MyUC.myParam="{Binding ElementName=cb, Path=IsChecked}" />
</UserControl>
В модели представления MyUCvm
Я объявляю свойство:
public class MyUCvm : ViewModelBase
{
private bool _condition;
public bool Condition
{
get { return condition; }
set
{
_condition = value;
Notify("Condition");
}
}
...
}
Я хочу Condition
должен быть привязан к myParam
, так что то, что отображается MyUC
в представлении V1
, зависит от флажка cb
(и других шаблонов для других представлений).
Может быть, я смогу написать в V1vm
обновление MyUCvm
в C #.Но я считаю, что это не правильный путь.
Мне кажется, что более "чисто" связать myParam
в MyUC
XAML с Condition
, с каким-то (не работающим) кодом:
<UserControl x:Class="MyUC" ...>
...
<WHAT_TO_PUT_HERE? local:MyUC.myParam="{Binding Condition, Mode=TwoWay}" />
...
</UserControl>
Я нацеливаюсь на правильное решение?Как этого добиться?