3
GridView가 포함 된 ListView가 포함 된 WPF MVVM 응용 프로그램이 있습니다.
도우미 클래스를 사용하여 잘 작동하는 GridViewColumn을 만들고 있습니다.GridViewColumn.Width에 속성을 프로그래밍 방식으로 바인딩합니다.
내 문제 : 너비를 다시 읽을 수 있도록 너비를 twoway-bind하고 싶습니다.
지금 GridViewColumn을 작성하는 코드는 다음과 같습니다
private static GridViewColumn CreateColumn(GridView gridView, object columnSource)
{
GridViewColumn column = new GridViewColumn();
String headerTextMember = GetHeaderTextMember(gridView);
String displayMemberMember = GetDisplayMemberMember(gridView);
String widthMember = GetWidthMember(gridView);
// set header
column.Header = GetPropertyValue(columnSource, headerTextMember);
// set display binding
String propertyName = GetPropertyValue(columnSource, displayMemberMember) as String;
column.DisplayMemberBinding = new Binding(propertyName);
// bind with - but how?
//Binding widthBinding = new Binding(widthMember);
//widthBinding.Source = columnSource;
//widthBinding.Mode = BindingMode.TwoWay;
//gridView.SetBinding(GridViewColumn.WidthProperty, widthBinding); <- gridView got no SetBinding :(
}
return column;
}
누구든지 내가 폭을 결합 할 수있을 어떻게 나를 위해 몇 가지 포인터있어?
의 GridView이 메서드 SetBinding을 포함하지 않는, 어디이 찾아해야합니까? – Sam
GridView에 없으므로 BindingOperations에 있습니다. 대답에서 말한 것처럼 ... –
@Sam : 예! GridViewColumn 클래스 (GridView가 아님)에는 SetBinding 메서드가 없으므로이 방법으로 바인딩해야합니다. 코드 편집을 확인하십시오. – Amsakanna