C# 所选属性MVVM

C# 所选属性MVVM,c#,wpf,xaml,mvvm,datagrid,C#,Wpf,Xaml,Mvvm,Datagrid,正在努力学习WPF中的MVVM 我正在使用EF4.0,并已成功地将DataGrid绑定到从简单的LINQ查询填充的ObservableCollection 现在,我想将文本框绑定到网格视图中选定的属性。例如,我希望我的txtNameTextbox在DataGrid中反映所选的Name属性。我在我的DataGrid中只列出了一个专栏,以简化一些事情,这就是我到目前为止所做的: XAML: 视图模型从基类实现了INotifyPropertyChanged。在我的视图模型构造函数中,我不确定如何提取所

正在努力学习WPF中的MVVM

我正在使用EF4.0,并已成功地将
DataGrid
绑定到从简单的
LINQ
查询填充的
ObservableCollection

现在,我想将文本框绑定到网格视图中选定的属性。例如,我希望我的txtName
Textbox
DataGrid
中反映所选的Name属性。我在我的
DataGrid
中只列出了一个专栏,以简化一些事情,这就是我到目前为止所做的:

XAML:

视图模型从基类实现了INotifyPropertyChanged。在我的视图模型构造函数中,我不确定如何提取所选数据

建造商:

class AssetTransactionViewModel : NotifyPropertyBase
{
    public ObservableCollection<tbAssetTransaction> SelectedAssetTransactions { get; set; }
    public AssetTransactionViewModel()
    {
        GetAssetTransactions();
        SelectedAssetTransactions = new ObservableCollection<tbAssetTransaction>();
        SelectedTransaction = SelectedAssetTransactions[0];
    }
class AssetTransactionViewModel:NotifyPropertyBase
{
公共ObservableCollection SelectedAssetTransactions{get;set;}
公共资产TransactionViewModel()
{
GetAssetTransactions();
SelectedAssetTransactions=新的ObservableCollection();
SelectedTransaction=SelectedAssetTransactions[0];
}

问题是我的SelectedTransaction属性从未设置。getter返回null,然后set方法从未运行,因此我的textbox值从未设置。我有不足一年的编程经验,因此这对我来说有点“深入”。谢谢你需要添加一个textbox并将所选的item.name绑定到它的文本泰 例如:

 <TextBox Height="23" Name="txtBlockName" Width="120" Margin="61,8,671,55" Text="{Binding SelectedTransaction.Name}">

        </TextBox>
<TextBox />

您应该在
DataGrid
中将绑定
模式设置为
two-way
,因此SelectedItem将被更新:

SelectedItem="{Binding SelectedTransaction, Mode=TwoWay}"
..并更改
文本框
绑定:

Text="{Binding SelectedTransaction.Name}"/>

你的文本框在哪里?你有什么问题?还不清楚。哇,有问题的XAML编辑。
SelectedItem="{Binding SelectedTransaction, Mode=TwoWay}"
Text="{Binding SelectedTransaction.Name}"/>