我将很快做一个MVVM项目,我正在做一些教程/示例。如何获取以下代码并将其连接到数据库。如果我有一个数据网格,我如何更改数据网格中的信息并让它自动更新?我将使用MS SQL。感谢您的任何提示或建议。
Class Person
Property _name As Integer
Property Name As Integer
Get
Return _name
End Get
Set(value As Integer)
_name = value
RaisePropertyChanged("Name")
End Set
End Property
End class
然后在另一个班级:
Class Collections
Public namelist As New ObservableCollection(Of Person)
namelist.Add(New Person With {.Name = Nothing})
---然后在XAML
<ObjectDataProvider x:Key="test" ObjectType="{x:Type local:Collections}"
<DataGrid ItemsSource="{Binding Source= {StaticResource test}}">
<DataGridTextColumn Header="Name" Binding="{Binding Sample, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
ect...ect....ect...
现在我在哪里或如何将MS SQL表连接到所有这些?
答案 0 :(得分:2)
如果你正在使用MVVM,那么你的绑定(如果连线正确)会将你在GridView中所做的更改传播到它们绑定的属性,如果在单元格编辑完成时连接事件等等。
这是一个来源:
http://www.dotnetcurry.com/ShowArticle.aspx?ID=563
我来自C#唯一的背景,但是,
例如,如果您有可观察集合的属性:
public ObservableCollection<string> Collection {get; set;}
在ViewModel上,如果您通过设置View的DataContext将视图(.xaml)绑定到VM,并且已将此OC绑定到组合框,更改组合框上的selectedValue将更新您绑定的SelectedValue在.xaml。
因此,如果您选择将此组合框绑定到SelectedValue属性:
public string SelectedValue {get; set;}
当你选择组合框中的一个选项时,会在视图模型上更新该值,它将进入属性的设置部分。
对于你绑定到GridView的任何内容都是如此。如果您有一个ObservableCollection,您的gridview也会绑定,那么当您认为更改应更新ViewModel并使用ICommand将更改传播到VM时,您需要连接视图上的事件。
另一个问题是你需要使用VB吗?我知道使MVVM变得更容易的框架就像Caliburn.Micro在C#中一样,必须有一些框架才能使用MV轻松实现MVVM。虽然你正在尝试的是基本的MVVM并不难设置,但这些框架通常可以节省你手动连接绑定所需的时间。