Как использовать x:Bind без какого-либо свойства

В Windows 8.1 я могу это сделать

<Grid Margin="8"
      VerticalAlignment="Bottom"
      Tapped="Grid_OnTapped"
      Tag="{Binding}"></Grid>

затем внутри события Grid_OnTapped я могу использовать свойство Tag Grid, чтобы узнать, какой элемент прослушивается.

Но при изменении на x:Bind, это больше не работает. Возникло исключение: "Ссылка на объект не установлена ​​для экземпляра объекта"

Дальнейшее тестирование, этот код будет отображать название класса

<TextBlock Text="{x:Bind}/>

Но это единственная работа

Пожалуйста помоги. Спасибо

1 ответ

Решение

{x:Bind} предназначен для привязки к свойствам в коде позади представления. Имеет преимущество в производительности перед {Binding} потому что нормальное связывание использует отражение, чтобы найти свойства, тогда как x:Bind не. x:Bind будет привязан к строго типизированным свойствам в коде.

Как правило, вы бы использовали x:Bind чтобы получить производительность в XAML,

В вашем случае было бы лучше связать DataContext вместо этого, в вашем случае, просто {Binding}, Что вы уже сделали ранее.

Возможно, вы неправильно поняли использование x:Bind? Вот статья, объясняющая, как это должно использоваться.

Другие вопросы по тегам