Silverlight 4.0 Silverlight4.0中的数据绑定到Combobox

Silverlight 4.0 Silverlight4.0中的数据绑定到Combobox,silverlight-4.0,silverlight-5.0,Silverlight 4.0,Silverlight 5.0,我正在尝试数据绑定到组合框。数据来自一个名为tbltest的数据库表,该表有2个文件id和名称 <ComboBox Height="23" HorizontalAlignment="Left" Margin="47,128,0,0" Name="comboBox1" VerticalAlignment="Top" Width="120" DisplayMemberPath="name" ItemsSource="{Binding ObsCompanyCollection,Mode=

我正在尝试数据绑定到组合框。数据来自一个名为tbltest的数据库表,该表有2个文件id和名称

    <ComboBox Height="23" HorizontalAlignment="Left" Margin="47,128,0,0" Name="comboBox1" VerticalAlignment="Top" Width="120" DisplayMemberPath="name" ItemsSource="{Binding ObsCompanyCollection,Mode=OneWay}"
当我试图将name绑定到combox时,它会在视图中显示我tbltest:name。我正在使用域服务和MVVM绑定数据

    <ComboBox Height="23" HorizontalAlignment="Left" Margin="47,128,0,0" Name="comboBox1" VerticalAlignment="Top" Width="120" DisplayMemberPath="name" ItemsSource="{Binding ObsCompanyCollection,Mode=OneWay}"
下面是我的ViewModel代码:

   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");
            }
        }

    }
    <ComboBox Height="23" HorizontalAlignment="Left" Margin="47,128,0,0" Name="comboBox1" VerticalAlignment="Top" Width="120" DisplayMemberPath="name" ItemsSource="{Binding ObsCompanyCollection,Mode=OneWay}"
公共视图模型()
{
var query=context.GetTblTestsQuery();
var load=context.load(查询);
加载完成+=(s,ea)=>
{
ObsCompanyCollection=新的ObservableCollection(context.tblTests);
};
}
私有ObservableCollection_ObsCompanyCollection=新ObservableCollection();
公众可观察到的收集obcompanycollection
{
得到
{
返回公司集合;
}
设置
{
if(_ObsCompanyCollection!=值)
{
_ObsCompanyCollection=值;
NotifyPropertyChanged(“OBCompanyCollection”);
}
}
}
下面是我的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}" />
    <ComboBox Height="23" HorizontalAlignment="Left" Margin="47,128,0,0" Name="comboBox1" VerticalAlignment="Top" Width="120" DisplayMemberPath="name" ItemsSource="{Binding ObsCompanyCollection,Mode=OneWay}"

我不知道这个代码有什么问题。我只想在我的组合框中显示名称

    <ComboBox Height="23" HorizontalAlignment="Left" Margin="47,128,0,0" Name="comboBox1" VerticalAlignment="Top" Width="120" DisplayMemberPath="name" ItemsSource="{Binding ObsCompanyCollection,Mode=OneWay}"
谢谢你试试这个
    <ComboBox Height="23" HorizontalAlignment="Left" Margin="47,128,0,0" Name="comboBox1" VerticalAlignment="Top" Width="120" DisplayMemberPath="name" ItemsSource="{Binding ObsCompanyCollection,Mode=OneWay}"

    <ComboBox Height="23" HorizontalAlignment="Left" Margin="47,128,0,0" Name="comboBox1" VerticalAlignment="Top" Width="120" DisplayMemberPath="name" ItemsSource="{Binding ObsCompanyCollection,Mode=OneWay}"

将显示成员路径更改为,DisplayMemberPath=“name”感谢您的回复…虽然可以,但我想将所选项目的id保存到另一个表tbldata中。那么我如何才能获得所选项目的id。当我保存数据时,它将存储为null;再次感谢你,现在真让人恼火。