【发布时间】:2012-04-13 07:33:04
【问题描述】:
我有问题。
我创建了一个在我的应用程序中使用的通用容器。 此容器导出两个属性(目前):其内容和按钮操作。
问题是我无法绑定动作。
通用容器有一个按钮:
<HyperlinkButton x:Name="expandButton" Width="16">
在后面的代码中我导出了一个 ICommand 属性:
public ICommand ExpandCommand
{
get { return Click.GetCommand(expandButton); }
set { Click.SetCommand(expandButton, value); }
}
而且,当我尝试使用它时:
<abo:DashBoardPanel Margin="10" Grid.Row="1" Title="Command Panel"
DataContext="{Binding Commands}"
ExpandCommand="{Binding test}"
>
当组件(使用通用容器的组件)被分配时,会触发以下异常:
{System.ArgumentException: Un oggetto di Tipo 'System.Windows.Data.Binding' 非 può essere convertito nel tipo 'System.Windows.Input.ICommand'。苏 System.RuntimeType.TryChangeType(对象值,Binder binder, CultureInfo 文化,布尔需要SpecialCast) su System.RuntimeType.CheckValue(对象值,Binder binder,CultureInfo 文化,BindingFlags invokeAttr) su System.Reflection.MethodBase.CheckArguments(Object[] 参数, Binder binder、BindingFlags invokeAttr、CultureInfo 文化、签名 sig) su System.Reflection.RuntimeMethodInfo.Invoke(对象 obj, BindingFlags invokeAttr,Binder binder,Object[]参数, CultureInfo 文化,布尔型 skipVisibilityChecks) su System.Reflection.RuntimeMethodInfo.Invoke(对象 obj,BindingFlags invokeAttr、Binder binder、Object[] 参数、CultureInfo 文化)
su System.Reflection.RuntimePropertyInfo.SetValue(对象 obj,对象 value, BindingFlags invokeAttr, Binder binder, Object[] index, CultureInfo文化)苏 System.Reflection.RuntimePropertyInfo.SetValue(对象 obj,对象 值,对象 [] 索引)苏 MS.Internal.XamlMemberInfo.SetValue(对象目标,对象值)su MS.Internal.XamlManagedRuntimeRPInvokes.SetValue(XamlTypeToken inType, XamlQualifiedObject& inObj, XamlPropertyToken inProperty, XamlQualifiedObject& inValue)}
(它是意大利语.. 翻译类似于“'System.Windows.Data.Binding' 类型的对象无法转换为'System.Windows.Input.ICommand')
有什么想法吗?
谢谢。 弗朗切斯科
【问题讨论】:
标签: silverlight mvvm