【发布时间】:2011-08-04 10:13:44
【问题描述】:
我正在尝试创建一个数据分页器用户控件。此用户控件在其代码中声明了一个事件:
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}"
这个,我已经为过滤器按钮做了,出现在我的主用户控件中,因此我认为我可以为这个事件做同样的事情。但是每次我收到一个错误:
Impossibile assegnare alla proprietà '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 资源定位器) su Super.Silverlight.SchedeConsuntivi.InitializeComponent() 苏 Super.Silverlight.SchedeConsuntivi..ctor()
抱歉,意大利语的错误,但我无法得到准确的翻译 ->(无法分配属性...)
有人可以解释一下这种行为吗?
感谢阅读,
[编辑] 这是主用户控件的我的视图模型:
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...
}
}
[/编辑]
【问题讨论】:
标签: c# silverlight-4.0 mvvm