일부 모델의 데이터가 포함 된 클래스가 있습니다. 이 클래스에는 실제 값과 함께 메타 데이터가 있습니다.WPF Datagrid에서 복잡한 유형의 DataTable에 바인딩
class ServerValue {
public int SomeId {get;}
public int SomeOtherId {get;}
public DateTime LastChanged {get;}
public object Value {get;set;}
// this lets me show the value, but how do i update it from the grid?
public override string ToString(){
return Value.ToString();
}
}
이제 모든 종류의 논리를 가진 DataTable에서 파생되는 MyDataTable 클래스도 있습니다. 서버를 호출하고, ServerValues를 한꺼번에 가져 와서 Rows and Columns에 넣습니다.
마지막으로 DataGrid에서 각 ServerValue의 ToString을 호출하고 표시 값을 가져 오기 때문에 MyDataTable에 바인딩하는 WPF DataGrid가 있고 데이터가 표시됩니다. 지금까지 만세.
이제 두 가지 방식으로 데이터 바인딩을 수행하므로 그리드의 입력이 ServerValue에 다시 기록됩니다. 그래서 표 셀을 ServerValue 자체의 값 대신 ServerValue의 Value 속성에 바인딩하려고합니다.
지금 DataGrid 셀의 ServerValue는 문자열로 바뀝니다. 나는이 모든 것을 해결할 수 있지만 먼저 우아한 길을 시도해 볼 것입니다.
그래서 나는 데이터 형식이 셀에 복잡한 유형이 있고 그 유형의 특정 속성에 양방향 데이터 바인딩을 원합니다.
이것이 가능합니까? 나는 이것에 관해 인터넷 검색을하고 있었고 이것에 대해서는 아무 것도 할 수 없다. 사전에
감사합니다,
존
바인딩에 대한 변환기를 정의! 유망 해 보이는데, 지금 그것에 대해 들여다 보아라. 감사! – gjvdkamp
안녕하세요, 저는 변환기와 모두를 가지고 있지만 그리드에 의해 사용되지 않습니다, 그것은 여전히 삽입 된 클래스의 유형을 표시합니다. < "{바인딩 변환기 = {정적 리소스 TesterConverter}}"ItemsSource = 데이터 그리드 이름 = "SomeGrid"AutoGenerateColumns = "진정한"/> 당신이 올바른 구문을 알고 있습니까 :이 내가 컨버터를 연결하는 방법입니다? 변환기 예제를 보았지만 모두 데이터 템플릿 등이 있습니다. 미리 감사드립니다. John – gjvdkamp
지금 필요한 것은 Datagrid가있는 XAML 샘플입니다. –