Я пытаюсь создать пользовательский контроль в datapager. Этот пользовательский элемент управления имеет одно событие, объявленное в его коде:
public event EventHandler OnPageIndexPagerChanged;
Я использую этот элемент управления в основном пользовательском контроле и привязываю свое событие к другому событию в коде, например:
xaml:
OnPageIndexPagerChanged="SuperDataPager_OnPageIndexPagerChanged"
c # (код позади):
private void SuperDataPager_OnPageIndexPagerChanged(object sender, EventArgs e)
{
var viewModel = DataContext as ViewSchedeConsuntiviViewModel;
if (viewModel != null)
{
viewModel.FilterCommand.Execute(sender);
}
}
И это прекрасно работает, но я бы хотел пропустить прохождение кода позади и сделать что-то вроде:
OnPageIndexPagerChanged="{Binding Path=FilterCommand}"
Это, я уже делаю для кнопки фильтра, присутствующей в моем основном пользовательском контроле, поэтому я подумал, что могу сделать то же самое для этого события. Но каждый раз я получаю сообщение об ошибке:
Невозможно ассемблировать
'Super.Silverlight.SuperDataPager.OnPageIndexPagerChanged. [Строка: 90
Позиция: 55]
«iexplore.exe» (Silverlight): загружен «C: \ Program Files (x86) \ Microsoft»
Silverlight \ 4.0.60531.0 \ it \ mscorlib.resources.dll 'su
System.Windows.Application.LoadComponent (Объектный компонент, Uri
resourceLocator) su
Super.Silverlight.SchedeConsuntivi.InitializeComponent () su
Super.Silverlight.SchedeConsuntivi..ctor ()
Извините за ошибку на итальянском языке, но мне не удалось получить точный перевод -> (невозможно назначить свойство ...)
Может ли кто-нибудь объяснить мне это поведение?
Спасибо за чтение,
[EDIT]
Вот мой взгляд Модель для основного управления пользователем:
public class MyViewModel : DependencyObject, INotifyPropertyChanged
{
public ICommand FilterCommand { get; set; }
public MyViewModel()
{
FilterCommand = new Super.Silverlight.Tools.DelegateCommand<object>(p => Filter());
}
public void Filter()
{
//....blah blah blah...
}
}
[/ EDIT]