我遇到的问题是对combobox.ItemsSource = context.Currencies.ToList()的调用;抛出FormatException(Guid应包含32位数字,带有4个破折号(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx))。
我无法理解的是为什么会抛出此错误?
如果我将LINQ to SQL从图片中删除,请定义一个“测试”类 - 公共类Test {public Guid Id;公共字符串名称; },将comobox.ItemsSource设置为包含一些条目的List<Test>
,然后一切正常。
如果我这样做:
combobox.ItemsSource = context.Currencies.Select(c => new { c.Id.ToString(), c.Name }).ToList()
然后一切正常。
我尝试将当前线程的Culture和UICulture预先设置为“en-US”(以防万一这是一个文化问题,我的默认文化是“et-EE”),但这也无济于事。 / p>
我查看了设计器生成的LINQ to SQL类,但找不到任何可能导致此错误的属性。
我在这里遗漏了什么或这是否真的是.NET框架中的错误?'
PS! Currency表包含有效条目(有效Guids)。
答案 0 :(得分:0)
正如托马斯指出的那样,我对SelectedValue有一个绑定,事实证明绑定也包含一个FallbackValue = 1.删除fallback属性后一切正常。该物业被滚出视野,所以确实是我错过了。