Windows phone 7 将映像类型属性与Windows Phone绑定时出错

Windows phone 7 将映像类型属性与Windows Phone绑定时出错,windows-phone-7,silverlight-3.0,Windows Phone 7,Silverlight 3.0,我有一个具有图像属性的类: ... public Image m_coverImage; public Image CoverImage { get { return m_coverImage; } set { m_coverImage = value; //OnPropertyChanged(new PropertyChangedEventArgs("CoverImage")); } } ... 我通过弹出窗口将其绑定到User

我有一个具有图像属性的类:

...
public Image m_coverImage;
public Image CoverImage
{
    get { return m_coverImage; }
    set
    {
        m_coverImage = value;
        //OnPropertyChanged(new PropertyChangedEventArgs("CoverImage"));
    }
}
...
我通过弹出窗口将其绑定到UserControl(名为FullDescription):

...
<ContentControl Margin="5,0,20,0"
    Grid.Column="0" VerticalAlignment="Top" HorizontalAlignment="Center" 
    Content="{Binding CoverImage}"/>
...
…我得到一个ArgumentException错误:

System.ArgumentException未处理 消息=参数不正确。 堆栈跟踪: 在MS.Internal.XcpImports.CheckHResult(UInt32小时) 位于MS.Internal.XcpImports.SetValue(INativeCoreTypeWrapper对象,DependencyProperty属性,DependencyObject doh) 位于MS.Internal.XcpImports.SetValue(INativeCoreTypeWrapper doh,DependencyProperty属性,对象obj) 位于System.Windows.DependencyObject.SetObjectValueToCore(DependencyProperty dp,对象值) 位于System.Windows.DependencyObject.RefreshExpression(DependencyProperty dp) 位于System.Windows.Data.BindingExpression.RefreshExpression()处 位于System.Windows.Data.BindingExpression.SendDataToTarget()处 位于System.Windows.Data.BindingExpression.SourceAquired()处 位于System.Windows.Data.BindingExpression.DataContextChanged(对象o,DataContextChangedEventArgs e) 位于System.Windows.FrameworkElement.OnDataContextChanged(DataContextChangedEventArgs e) 位于System.Windows.FrameworkElement.OnAncestorDataContextChanged(DataContextChangedEventArgs e) 位于System.Windows.FrameworkElement.NotifyDataContextChanged(DataContextChangedEventArgs e) 位于System.Windows.FrameworkElement.OnAncestorDataContextChanged(DataContextChangedEventArgs e) 位于System.Windows.FrameworkElement.NotifyDataContextChanged(DataContextChangedEventArgs e) 位于System.Windows.FrameworkElement.OnAncestorDataContextChanged(DataContextChangedEventArgs e) 位于System.Windows.FrameworkElement.NotifyDataContextChanged(DataContextChangedEventArgs e) 位于System.Windows.FrameworkElement.OnAncestorDataContextChanged(DataContextChangedEventArgs e) 位于System.Windows.FrameworkElement.NotifyDataContextChanged(DataContextChangedEventArgs e) 位于System.Windows.FrameworkElement.OnAncestorDataContextChanged(DataContextChangedEventArgs e) 位于System.Windows.Controls.Primitives.Popup.NotifyDataContextChanged(DataContextChangedEventArgs e) 位于System.Windows.FrameworkElement.OnAncestorDataContextChanged(DataContextChangedEventArgs e) 位于System.Windows.FrameworkElement.NotifyDataContextChanged(DataContextChangedEventArgs e) 位于System.Windows.FrameworkElement.OnPropertyChanged(DependencyProperty dp) 位于System.Windows.DependencyObject.RaisePropertyChangeNotifications(DependencyProperty dp、Object newValue、Object oldValue) 位于System.Windows.DependencyObject.SetValueInternal(DependencyProperty dp、对象值、布尔AllowareAndolySet、布尔isSetByStyle、布尔isSetByBuiltInStyle、PropertyInvalidationReason) 位于System.Windows.DependencyObject.SetValueInternal(DependencyProperty dp,对象值) 位于System.Windows.DependencyObject.SetValue(DependencyProperty dp,对象值) 位于System.Windows.FrameworkElement.set_DataContext(对象值) 在Mobiltec.Atheneum.Reader.WindowsPhone.Controls.EbookPhotoSummary.hplMore_点击(对象发送器,路由目标e) 在System.Windows.Controls.Primitives.ButtonBase.OnClick()中 在System.Windows.Controls.HyperlinkButton.OnClick()中 在System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e) 在System.Windows.Controls.Control.OnMouseLeftButtonUp(控件ctrl,事件参数e) 在MS.Internal.JoltHelper.firevent处(IntPtr unmanagedObj、IntPtr unmanagedobjars、Int32 argsTypeIndex、String eventName) 在Microsoft.Xna.Framework.Input.unsafentivemethods.CallWindowProc(IntPtr lpPrevWndFunc、IntPtr hWnd、UInt32 msg、IntPtr wParam、IntPtr lParam) 在Microsoft.Xna.Framework.Input.SafeNativeMethods.CallWindowProc(IntPtr lpPrevWndFunc、IntPtr hWnd、UInt32 msg、IntPtr wParam、IntPtr lParam) 位于Microsoft.Xna.Framework.Input.WindowMessageHooker.Hook.WndProc(IntPtr msgWnd、UInt32 msg、IntPtr wParam、IntPtr lParam)

有什么想法吗

提前谢谢


我设法解决了这个问题。改变

<ContentControl Margin="5,0,20,0"
Grid.Column="0" VerticalAlignment="Top" HorizontalAlignment="Center" 
Content="{Binding CoverImage}"/>

为了



一切正常。谢谢

不幸的是,Silverlight框架提供的错误通常非常模糊,这里就是这样

我能给你的最好建议是缩小问题的范围。简化代码,使其成为显示此问题的最小示例。如果你能提供一个简明的例子,更新你的问题。目前,答案还很模糊

<ContentControl Margin="5,0,20,0"
Grid.Column="0" VerticalAlignment="Top" HorizontalAlignment="Center" 
Content="{Binding CoverImage}"/>
<Image Margin="5,0,20,0" Grid.Column="0" VerticalAlignment="Top"
HorizontalAlignment="Center" Source="{Binding CoverImage.Source}"/>