Ваш TextBlock с именем author
не существует в области действия вашего обработчика кликов, поскольку он находится в DataTemplate .Происходит то, что author
TextBlock создается один раз для каждого из ваших элементов данных (предположительно, класса Author или некоторого класса Book), поэтому вы буквально можете иметь десятки элементов управления с именем author
.
Вам лучше привести sender
в обработчике кликов к текстовому полю, а затем проверить его текстовое свойство.Как то так:
private void click(object sender, RoutedEventArgs args)
{
var textBox = sender as TextBox;
if(textBox == null)
return;
if(textBox.Text.Equals("hi"))
{
// Do Something Crazy!
}
}