XAML보기 :Datagrid의 SelectedItem을 읽기 전용 목록에 올바르게 바인딩하는 방법?
<DataGrid x:Name="dgInstances" SelectedItem="{Binding Path=Instance, Mode=OneWay}"
ItemsSource="{Binding Instances}"> SelectionMode="Single"> ... etc.
뷰 모델 : 뷰 모델 클래스가 INotifyPropertyChanged
을 구현하고 Instances
이 인출 된 후 나는 RaisePropertyChanged("Instance");
을 제공
public List<string> Instances
string instance;
public string Instance
{
get
{
if (instance == null && instances.HasItems())
{
instance = instances[0];
}
if (instance != null)
{
return instance;
}
return null;
}
set
{
instance = value;
}
}
.
인스턴스가 데이터 격자에 제대로 표시되지만 첫 번째 항목은 선택되지 않습니다.
바인딩을 통해 사용해야하기 때문에 SelectedIndex=0
을 추가하고 싶지 않습니다.
그리고 데이터 격자에서 선택을 변경하면 데이터 바인더 Instance
의 설정자가 사용되지 않습니다.
물론 그것은 물론 요구 사항입니다.
읽기 전용 목록입니다. 선택한 항목 만 데이터 바인딩되어야하며 값은 입력되지 않아야합니다. 난 정말 WPF DataGrid
를 사용하지 않는 동안
WPF DataGrid를 사용하지 않으면 대신 무엇을 사용합니까? – Gerard
나는 WPF pr을 활용하는 것을 선호합니다. 한쪽에는 선택 패널이 있고 다른 한쪽에는 선택한 항목을 편집 할 수있는 편집 패널이있는 사용자 정의 UI가 있습니다. [데이터 엔티티> 도메인 개체> ViewModels에 스크린 샷을 추가했습니다. 각각 다른 데이터 구조가 있습니다.] (http://stackoverflow.com/questions/19693682/data-entities-domain-objects-viewmodels-each-with- 대단히 다름/19694623 # comment29312293_19694623) 최근 게시물. – Sheridan
Ok -보기에서 선택한 항목이나 현재 항목을보기 모드에서 선택한 항목 또는 현재 항목과 바인딩하는 방법과 예를 어떻게 구성합니까? 예 : 또한 http://stackoverflow.com/a/3009906/138078에서 viewmodel의 selecteditem에 대한 간단한 바인딩이 사용됩니다. – Gerard