Xaml 在可移植类库中使用事件参数
我目前正在为Windows8和WindowsPhone8开发一个应用程序。视图的构建必须非常动态,因此我必须为此使用大量的数据模板。在这些数据模板中,我使用Galasoft MVVMLight EventToCommand,因为我需要事件参数,所以我还使用PassEventArgsToCommand=“True” 在我的例子中,我必须使用SelectionChangedEventArgs、DateTimeValueChangedEventArgs和KeyEventArgsXaml 在可移植类库中使用事件参数,xaml,windows-8,windows-phone-8,portability,eventargs,Xaml,Windows 8,Windows Phone 8,Portability,Eventargs,我目前正在为Windows8和WindowsPhone8开发一个应用程序。视图的构建必须非常动态,因此我必须为此使用大量的数据模板。在这些数据模板中,我使用Galasoft MVVMLight EventToCommand,因为我需要事件参数,所以我还使用PassEventArgsToCommand=“True” 在我的例子中,我必须使用SelectionChangedEventArgs、DateTimeValueChangedEventArgs和KeyEventArgs 有什么办法可以让这一切
有什么办法可以让这一切顺利进行吗?我试过反思,但它确实奏效了
string keyCode = "";
if (args != null)
{
PropertyInfo p = args.GetType().GetProperty("Key");
keyCode = p.GetValue(args, null).ToString();
}
经过多次尝试,我终于找到了解决办法。 和user1545884一样,我也使用反射,但GetValue方法不适合我 SelectedItem对象位于“AddedItems”集合中,因此我使用“AddedItems”获取属性方法 我一直在努力,直到找到我的目标
IEnumerable ie = (parameter.GetType().GetRuntimeProperty("AddedItems").GetValue(parameter) as IEnumerable);
foreach (var item in ie)
{
if (item is Store_Province)
{
}
}
string keyCode = "";
if (args != null)
{
PropertyInfo p = args.GetType().GetProperty("Key");
keyCode = p.GetValue(args, null).ToString();
}
IEnumerable ie = (parameter.GetType().GetRuntimeProperty("AddedItems").GetValue(parameter) as IEnumerable);
foreach (var item in ie)
{
if (item is Store_Province)
{
}
}