【发布时间】:2012-10-08 17:43:15
【问题描述】:
嘿,我正在做一个使用 MVVM 架构的 silverlight 应用程序。 情景是这样的。我在同一页面中有一个组合框和数据网格。 我使用 ObservableCollection 绑定 Datagrid 中的值,在该集合中我有三个字段,即 Fname、Sname 和 Dept。 我在 Combobox 中绑定了 Dept,但是如果我选择任何一个部门意味着 DataGrid 中的值不会更新。即,我已经在 ViewModel 中创建了代码,并且我使用 LINQ 查询,并且我还在其中获取了值,
var semp = from s in Employees where s.Dept.Equals(Names.Dept) select s;
我需要将此 semp 数据源发送到 View 中的 Datagrid。 数据网格语法是:
<my:DataGrid x:Name="McDataGrid" ItemsSource="{Binding Employees,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}" Margin="130,151,0,0" Height="137" VerticalAlignment="Top" RowBackground="#AA5D9324" AutoGenerateColumns="True" HorizontalAlignment="Left" Width="196">
</my:DataGrid>
如果你知道,请帮助我...
【问题讨论】:
-
您是否在视图模型中实现了 inotifypropertychanged?
-
是的,我在 ViewModel 中实现了 INotifyPropertyChanged..
-
我希望您在Employees 属性中调用OnPropertyChanged() 事件?我这样定义了我的 ItemsSource,它对我有用 ItemsSource="{Binding AllBuyers}"
-
没关系 muhammad Kashif.. 但这里我的问题是我已经在 linq 查询中获取了数据。但此查询位于 ViewModel 中。我需要将此数据传递给 View 中的 DataGrid .. 是否可行
-
将您的查询结果存储在 Employees 中。它应该改变 Grid 。因为这是 Grid 的 ItemShource 属性。试试看是否有帮助。
标签: asp.net silverlight mvvm