Я новичок в XAML и C#. У меня есть приведенный ниже код, и я не могу понять, что нужно изменить, чтобы устранить эти две ошибки.
Requested value 'PropertyChanged' was not found.
и
'Cautare.get' must declare a body because it is not marked abstract, extern, or partial
Вот XAML
<TextBox x:Name="textbutton1" Text="{Binding Cautare, UpdateSourceTrigger=PropertyChanged}"/>
<ListBox Grid.Row="1" x:Name="ListBox" Margin="0,0,-12,0" ItemsSource="{Binding Sursa.View}">
и код программной части
public partial class MainPage : PhoneApplicationPage
{
public CollectionViewSource Sursa { get; set; }
public string Cautare { get;
set
{
if (!string.IsNullOrEmpty(Cautare))
Filtreaza();
Sursa.View.Refresh();
}
}
private void Filtreaza()
{
Sursa.Filter -= new FilterEventHandler(Filtru);
Sursa.Filter += new FilterEventHandler(Filtru);
}
private void Filtru(object sender, FilterEventArgs e)
{
var src = e.Item as Rind;
if (src == null) e.Accepted = false;
else if (src.Text != null && !src.Text.Contains(Cautare)) e.Accepted = false;
}
public ObservableCollection<Rind> Lista { get; set; }
public MainPage()
{
Lista = new ObservableCollection<Rind>
{
new Rind { Text = "abcd"},
new Rind { Text = "asdf"},
new Rind { Text = "asdzx"},
new Rind { Text = "adffgd"},
new Rind { Text = "asdfgea"},
};
InitializeComponent();
Sursa = new CollectionViewSource();
Sursa.Source = Lista;
DataContext = this;
}
public class Rind
{
public string Text { get; set; }
}
}
Я уже читал другие подобные вопросы о CollectionViewSource и привязке.
Моя интуиция подсказывает, что это распространенная проблема, но после двух часов тестирования я вошел в петлю блокировки мозга и больше не могу «видеть» ее ясно. Поэтому прошу помощи. Благодарю вас!