0
콤보 박스로 데이터 바인딩을 시도 중입니다. 데이터는 이름이 tbltest이고 테이블에 2 개의 fileds ID와 이름이있는 데이터베이스 테이블에서 가져옵니다.콤보 박스에서 실버 라이트 4로 데이터 바인딩 .
이름을 combox에 바인드하려고 할 때,보기에 tbltest : name이 표시됩니다. 도메인 서비스와 MVVM을 사용하여 데이터를 바인딩하고 있습니다.
다음은 뷰 모델의 내 코드입니다 :
public ViewModel()
{
var query = context.GetTblTestsQuery();
var load = context.Load(query);
load.Completed += (s, ea) =>
{
ObsCompanyCollection = new ObservableCollection<tblTest>(context.tblTests);
};
}
private ObservableCollection<tblTest> _ObsCompanyCollection = new ObservableCollection<tblTest>();
public ObservableCollection<tblTest> ObsCompanyCollection
{
get
{
return _ObsCompanyCollection;
}
set
{
if (_ObsCompanyCollection != value)
{
_ObsCompanyCollection = value;
NotifyPropertyChanged("ObsCompanyCollection");
}
}
}
아래 내 XAML 파일의 코드 :이 코드에 어떤 문제가 있는지 잘 모릅니다
<UserControl.Resources>
<my:ViewModel x:Key="ViewModel"/>
</UserControl.Resources>
<Grid x:Name="LayoutRoot" Background="White" DataContext="{StaticResource ViewModel}">
<ComboBox Height="23" HorizontalAlignment="Left" Margin="47,128,0,0" Name="comboBox1" VerticalAlignment="Top" Width="120" DisplayMemberPath="{Binding name,Mode=TwoWay}" ItemsSource="{Binding ObsCompanyCollection,Mode=TwoWay}" SelectedItem="{Binding tbldata.SelectCompanyId,Mode=TwoWay}" />
. 내 콤보 상자에 표시 할 이름 만 원한다.
감사
변경을 통해 UR 답장, DisplayMemberPath = "이름" – Sajeetharan
감사의 표시 멤버 경로를 시도하지만 난 ID를 저장하려면 선택된 항목의 다른 테이블로의 이동 tbldata. 그래서 내가 어떻게 seleted 항목의 ID를 얻을 수 있습니다. 데이터를 저장할 때 null로 저장됩니다. – Hitesh
선택한 값을 가져 오려면 var x = (사용자의 itemsource 객체) combobox.SelectedItem; – Sajeetharan