uwp c# 在运行时绑定事件时将附加参数传递给 navigationview 事件处理程序
uwp c# pass additional parameter to an navigationview event handler while binding the event at runtime
我有一个导航视图,我想将额外的参数传递给 selection_changed 事件
MUXC.NavigationView navigationview = new MUXC.NavigationView();
navigationview.SelectionChanged += new EventHandler((s, e) => Navigationview_SelectionChanged(s, e, param));
获取上述代码的错误
Cannot implicitly convert type 'System.Eventhandler' to
'Windows.Foundation.TypedEventHandler'
附加事件时,通常不需要new一个EventHandler
,因为NavigationView.SelectionChanged
的类型是TypedEventHandler,直接赋值会导致类型不匹配。
如果您创建一个 SelectionChanged
事件句柄方法,您可以像这样附加它:
var navigationview = new muxc.NavigationView();
navigationview.SelectionChanged += Navigationview_SelectionChanged;
private void Navigationview_SelectionChanged(muxc.NavigationView sender, muxc.NavigationViewSelectionChangedEventArgs args)
{
// Do something...
}
从您的代码来看,您似乎创建了一个具有三个参数的方法。如果你需要保留param
,那么你需要进行一些转换。
navigationview.SelectionChanged += (_s, _e) =>
{
Navigationview_SelectionChanged(_s, _e, param);
};
我有一个导航视图,我想将额外的参数传递给 selection_changed 事件
MUXC.NavigationView navigationview = new MUXC.NavigationView();
navigationview.SelectionChanged += new EventHandler((s, e) => Navigationview_SelectionChanged(s, e, param));
获取上述代码的错误
Cannot implicitly convert type 'System.Eventhandler' to 'Windows.Foundation.TypedEventHandler'
附加事件时,通常不需要new一个EventHandler
,因为NavigationView.SelectionChanged
的类型是TypedEventHandler,直接赋值会导致类型不匹配。
如果您创建一个 SelectionChanged
事件句柄方法,您可以像这样附加它:
var navigationview = new muxc.NavigationView();
navigationview.SelectionChanged += Navigationview_SelectionChanged;
private void Navigationview_SelectionChanged(muxc.NavigationView sender, muxc.NavigationViewSelectionChangedEventArgs args)
{
// Do something...
}
从您的代码来看,您似乎创建了一个具有三个参数的方法。如果你需要保留param
,那么你需要进行一些转换。
navigationview.SelectionChanged += (_s, _e) =>
{
Navigationview_SelectionChanged(_s, _e, param);
};