2012-11-21 4 views
3

모든, System.Windows.Data 오류 : 1 System.Windows.Data 오류 : 5

내가 ItemsSource = MyContext.Entity1.Local에 바인딩 DataGrid 컨트롤이있는 WPF 응용 프로그램이 (AN ObservableCollection에 인) .

<DataGridComboBoxColumn Header="User" 
         SelectedValueBinding="{Binding Path=USR_ID, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" 
         SelectedItemBinding="{Binding Path=TBL_USR, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" 
         ItemsSource="{Binding Path=MyEntity.TBL_USR, UpdateSourceTrigger=PropertyChanged, Source={StaticResource VM}}" 
         SelectedValuePath="USR_ID" 
         DisplayMemberPath="USR_WINLOGON" /> 

내 문제는 내가 다음과 같은 오류 얻을 수 있습니다 : 다음과 같이이 응용 프로그램의 내부 는 DataGridComboBoxColumn이다 나는 그것이 DynamicProxies 함께 할 수있는 뭔가가 파악

System.Windows.Data Error: 1 : Cannot create default converter to perform 'two-way' conversions between types MyContextType.TBL_USR' and 'System.String'. Consider using Converter property of Binding. BindingExpression:Path=TBL_USR; DataItem='Entity1Cl_4FDC0A147BE18671D96960BD8695EC4E3656B773570659474EE4FF228884E823' (HashCode=7143675); target element is 'DataGridCell' (Name=''); target property is 'CellContent' (type 'String') 
System.Windows.Data Error: 5 : Value produced by BindingExpression is not valid for target property.; Value='System.Data.Entity.DynamicProxies.TBL_USR30704B5EF5DAA11FBF2C9B305F529659FBCF422ED6696643EDB375A5D77F5A96' BindingExpression:Path=TBL_USR; DataItem='Entity1Cl_4FDC0A147BE18671D96960BD8695EC4E3656B773570659474EE4FF228884E823' (HashCode=7143675); target element is 'DataGridCell' (Name=''); target property is 'CellContent' (type 'String') 

,하지만 그럴 수 없어 이 문제를 일으키는 요소 (.Local?)와이를 해결하는 방법 (적어도 TypeConverter 및 Reflection을 사용하지 않고 yuck)을 파악합니다.

WPF가 잘못되었거나 (위의 마크 업에서 문자열을 내 엔터티로 설정하려고 시도하는 곳에서 찾을 수 없음) 중 하나입니다.

그래서 내가 Entity1.Local [n] .TBL_USR을 TBL_USR로 강제 설정하는 방법을 알고 있는지, 아니면 다른 방법 (리플렉션이없는 경우)이 SelectedItemBinding을 설정할 수 있는지를 아는 사람이 있습니까?

감사합니다.

저는 EF 4.4 (데이터베이스 우선) 및 .Net 4.0을 사용하고 있습니다.

+0

모두가 한 번에 대답하지 않습니까? – William

+0

차라리 답글을 남기고 싶다. (나는 그것을 통과 시켰지만, 내 문제를 정말로 해결하지는 못했다. 나는 언젠가는 미래에 언젠가는 깨지지 않기를 바란다 . – William

+0

나는 그것이 내가 아닌지 궁금해한다. – William

답변

0

Mode = TwoWay 및 배경 (클립 보드와 같은 것)의 일부 보이지 않는 바인딩 때문인 것으로 나타났습니다. 문자열 변환기를 사용해 보았지만 열이 포커스를 잃었을 때 값 표시를 제거하는 이상한 효과가있었습니다. THAT 문제에 대한 답은 여기에 있습니다 : 그것은 밝혀졌다

Why is my DataGridComboBoxColumn clearing its value when I navigate away from it?

뿐만 아니라이 문제에 대한 해답이 될 수 있습니다.

+0

고마워요. 너무 나쁘다. 그 프로젝트는 끝났지 만, 다음 번에 이것을 기억할 것이다 :-) – William