여기에 제 시나리오가 있습니다. SL3 (및 WCF 데이터 서비스)에서 작업하고 있으며 직원을 관리하는 사용자 지정 양식이 있습니다. 양식에는 Employee에 대한 기본 정보를 입력하기위한 간단한 TextBox (es)와 ComboBox (es)가 있습니다. 내 아키텍쳐에는 객체 컬렉션 (ObservableCollection 및 INotifyPropertyChanged 구현)과 Entity (OnPropertyChanged ("prop") 호출)를위한 기본 클래스가 있습니다. 코드 파일 (.cs) 예를 들어 EmployeeType과 같이 데이터베이스에서 값이 Director, Staff, Reporter, Manager 등과 같이 Code 열 (다른 열 (다른 열))과 같을 수있는 ComboBox (예 : EmployeeType)의 _SelectedItemChanged()를 처리하는 이벤트 처리기가 있습니다. Description, ModifiedDate 및 ID와 같은 EmployeeType 테이블에 존재합니다.) 폼 컨트롤에 일부 생성자가 있는데 빈 생성자를 사용하여 폼을로드하면 아무 것도로드되지 않습니다 (로드 및 수정 방법). 모든 것이 완벽하게 작동합니다. 즉, FirstName (TextBox), HireData (TextBox) 및 EmployeeType (ComboBox)과 같은 데이터를 입력 할 수 있습니다. 문제는 내가이 양식을로드 할 때이며, EmployeeType을 사전에 알고 있으므로 ComboBox의 Selec 설정 방법을 모르겠습니다. 프로그래밍 방식으로 tedItem을 사용할 수 있습니까?Silverlight를 통해 프로그래밍 방식으로 ComboBox의 SelectedItem을 설정하는 방법?
는 내가 관리자로 EmployeeType를로드 할 양식을 싶은 말은, 이런 식으로 뭔가를 시도, 그래서 난 내 부하() 메소드가 : 내 코드를 통해 추적하고 있습니다로 (F5를
private SetEmployeeType()
{
var employeeType = new EmployeeType { Code = "Manager" };
this.EmployeeTypeComboBox.SelectedItem = employeeType;
}
을하지만,), 나는 EmployeeType으로 employeeType을 볼 수 있지만 완전히 "(위의"Manager "라고 불리는 코드를 제외한 모든 빈) 속성이 채워지지 않으므로 내 _SelectedItemChanged() 이벤트가 호출 될 때 .SelectedItem = null이되므로 ComboBox는 아무것도 선택하지 않고로드됩니다 (ItemSource는 목록에 바인딩되어 있으며 올바르게 처리됩니다).
참고로 EmployeeTypes 목록을로드하는 다른 방법이 있습니다. GetEmployeeTypes() 및 그 잘로드합니다. ComboBox가 비어있는 상태에서 값을 선택하면 올바른 값이 데이터베이스에 전송되지만, 필자가 지적했듯이 SelectedItem을 미리 정의하고 ComboBox를 비활성화하여 사용자가 잘못된 데이터를 입력하지 못하게하려고합니다.
나는 심지어 같은 일부 LINQ를 시도하고 작동하지 않을 것 같다
var type = from e in employeeTypeList // collection loads fine with 10 items
where e.Code = "Manager"
select e;
나는 위의 쿼리를 통해 추적
에서, '유형'의 모든 속성과 함께 다시 올바른 EntityType 객체와 오는가 이 같은 인구) (정확한지 = 1 셀),하지만이 콤보 상자의 SelectedItemChanged (이후 콤보에 결합하지 않는 것 기대하고 뭔가 :var employeeType = this.EmployeeType.SelectedItem as EmployeeType; // i.e. expecting EmployeeType
대신 내 LINQ 쿼리 값을 찾아온다 예 :
IEnumerable<EmployeeType> // with some extra stuff...
ps. 나는 집에서 일하고 있기 때문에 나는 직장에서 일하며, 직장에서 일하고있다. 그래서 나는 분명히 뭔가 빠져있다면 실례한다. 나는 여러 가지 시나리오를 시도해 봤지만 그걸 알아내는 것처럼 보이지 않습니다. 어떤 도움을 주셔서 미리 감사드립니다!
감사합니다. 게이, 내일 다시 시도하고 결과로 답장 해 드리겠습니다. – Varn
개, 해결책은 정확합니다! 감사! – Varn