当前位置: 首页 > 编程语言 > C#

C#LearningTutorial-WPF-XAMLpropertynotfoundon'object'分享

时间:2023-04-10 14:32:41 C#

WPF/XAMLpropertynotfoundon'object'因为它在后台运行。我在WIndowsForms应用程序中已经这样做了很长时间。我刚刚为WPF重写了这一切,这让我有点头疼。它在运行时不断抛出以下错误:System.Windows.DataError:40:BindingExpressionpatherror:'Sender'propertynotfoundon'object''Char'(HashCode=5046349)'。BindingExpression:path=senderPerson;DataItem='Char'(HashCode=5046349);目标元素是“TextBlock”(名称=“);目标属性是“文本”(类型“字符串”)System.Windows.Data错误:40:BindingExpression路径错误:无法在“对象”Char上找到“主题”属性'(HashCode=5046349)'.BindingExpression:Path=Subject;DataItem='Char'(HashCode=5046349);目标元素是'TextBlock'(Name=");目标属性是“文本”(类型“字符串”)System.Windows.Data错误:40:BindingExpression路径错误:“对象”“字符”(哈希码=6619237)'找不到“发件人”属性。绑定表达式:路径=发件人;DataItem='Char'(HashCode=6619237);目标元素是'TextBlock'(名称=“);目标属性是'Text'(类型'String')System.Windows.Data错误:40:BindingExpression路径错误:在'object''Char'上找不到属性'subject'(HashCode=6619237)'.BindingExpression:Path=Subject;DataItem='Char'(HashCode=6619237);目标元素是'TextBlock'(Name=");目标属性是“文本”(类型“字符串”)System.Windows.Data错误:40:BindingExpression路径错误:找不到“对象”“字符”(HashCode=7536755)的“发件人”属性。绑定表达式:路径=发件人;DataItem='Char'(HashCode=7536755);目标元素是'TextBlock'(名称=“);目标属性是'Text'(类型'String')System.Windows.Data错误:40:BindingExpression路径错误:在'object''Char'上找不到属性'subject'(哈希码=7536755)'。绑定表达式:路径=主题;DataItem='Char'(HashCode=7536755);目标元素是“TextBlock”(名称=“);目标属性是“文本”(类型“字符串”)System.Windows.Data错误:40:BindingExpression路径错误:找不到“对象”“字符”的“发件人”属性(HashCode=7536755)'.BindingExpression:Path=Sender;DataItem='Char'(HashCode=7536755);目标元素是'TextBlock'(Name=");目标属性是“文本”(类型“字符串”)System.Windows.Data错误:40:BindingExpression路径错误:在“对象”“字符”(哈希码=7536755)上找不到属性“主题”。绑定表达式:路径=主题;DataItem='Char'(HashCode=7536755);目标元素是“TextBlock”(名称=“);目标属性是“文本”(类型“字符串”)System.Windows.Data错误:40:BindingExpression路径错误:在“对象”“字符”上找不到属性“发件人”(哈希码=6357089)'。绑定表达式:路径=发件人;DataItem='Char'(HashCode=6357089);目标元素是“TextBlock”(名称=“);目标属性是“文本”(类型“字符串”)System.Windows.Data错误:40:BindingExpression路径错误:找不到“对象”'”“”""""""""""""""""""""""""""""""""'BindingExpression:Path=Subject;DataItem='Char'(HashCode=6357089);目标元素是“TextBlock”(名称=“);目标属性是“文本”(类型“字符串”)(哈希码=6750311)'。绑定表达式:路径=发件人;DataItem='Char'(HashCode=6750311);目标元素是'TextBlock'(名称=“);目标属性是'Text'(类型'String')System.Windows.Data错误:40:BindingExpression路径错误:没有'subject'属性'character'(HashCode=6750311)'on'object'.BindingExpression:Path=Subject;DataItem='Char'(HashCode=6750311);目标元素是'TextBlock'(Name=");目标属性是“文本”(类型“字符串”)System.Windows.Data错误:40:BindingExpression路径错误:找不到“对象”“字符”(HashCode=6619237)的“发件人”属性。绑定表达式:路径=发件人;DataItem='Char'(HashCode=6619237);目标元素是'TextBlock'(名称=“);目标属性是'Text'(类型'String')System.Windows.Data错误:40:BindingExpression路径错误:在'object''Char'上找不到属性'subject'(哈希码=6619237)'。绑定表达式:路径=主题;DataItem='Char'(HashCode=6619237);目标元素是'TextBlock'(名称=“);目标属性是'Text'(类型'String')我不知道这到底是什么意思。一些谷歌搜索没有显示任何有用的东西。我还要指出如果我不在WPF中使用BGWorker,代码确实会检索所有邮件。但是当我使用后台工作者时,它只会停止工作并停止绑定。我不知道为什么。完全相同的代码适用于BGWorker的WinForms。这个错误研究究竟意味着什么,我该怎么做才能摆脱它?代码隐藏:publicpartialclassMainWindow:WindowpublicObservableCollectionmessages=newObservableCollection();公共MailMessage消息;整数计数=0;公共类消息{公共字符串发件人{得到;放;}publicstringSubject{得到;放;}公共字符串内容{得到;放;}publicDateTimeDateReceived{get;放;}publicDateTimeDateRead{get;放;}publicMailMessage邮件{get;放;}}publicMainWindow(){InitializeComponent();worker.WorkerSupportsCancellation=true;worker.WorkerReportsProgress=true;worker.ProgressChanged+=Worker_ProgressChanged;worker.RunWorkerCompleted+=Worker_RunWorkerCompleted;worker.DoWork+=Worker_DoWork;}privatevoidRetrieveMessages(){//工作代码。使用(varimap=newAE.Net.Mail.ImapClient()){for(inti=0;i