Вы можете использовать {Binding}
вместо x:Bind
.Таким образом, вы можете добавить x:Name="Page"
на свою страницу и затем использовать это имя во внутренней привязке:
{Binding ElementName=Page, Path=MyProperty}
Чтобы {Binding}
работал, однако, MyProperty
должно быть фактически свойством.Из вашего примера кода (который использует var
, который также недействителен) кажется, что это просто простое поле, поэтому вам понадобится что-то вроде:
public string MyProperty {get;set;}
Чтобы также получать PropertyChanged
уведомления, вы будетенеобходимо добавить вспомогательное поле и вызвать событие PropertyChanged
.
Однако в целом лучшим решением будет включение всей информации, необходимой DataTemplate
, в фактические элементы, которые к ней привязаны.Это означает - вы должны создать собственный тип модели представления для элементов, который будет включать информацию, необходимую для управления видимостью.