如何将TextBox绑定到XAML中的DataTable?

时间:2014-03-20 17:45:49

标签: c# wpf xaml data-binding

我有一个WPF窗口。其DataContext设置为ViewModel,其中包含作为名为dtPatientData的属性公开的DataTable。我有一个datagrid(ComponentOne),其ItemsSource设置为此属性。 datagrid正确绑定表并显示它。我想要一个TextBox,它绑定当前所选行中特定列(MRN)的值。我失败了。这是我的XAML:

                 <C1DataGrid:C1DataGrid
                    HorizontalAlignment="Left"
                    Margin="10,0,0,10"
                    VerticalAlignment="Bottom"
                    Width="504"
                    Height="143"
                    ItemsSource="{Binding dtPatientData}"
                    />
                <TextBox
                    Text="{Binding Source=dtPatientData, Path=MRN}"/>

我得到以下内容:System.Windows.Data错误:40:BindingExpression路径错误:&#39; MRN&#39;在&#39; object&#39;上找不到的属性&#39;&#39;字符串&#39; (的HashCode = 1384163063)&#39 ;. BindingExpression:路径= MRN;的DataItem =&#39;字符串&#39; (的HashCode = 1384163063);目标元素是&#39; TextBox&#39; (名称=&#39;&#39);目标属性是&#39; Text&#39; (键入&#39; String&#39;)

我尝试过各种各样的事情。我怎么能在XAML中做到这一点?

1 个答案:

答案 0 :(得分:0)

您应该将数据绑定到MRN的{​​{1}}列的值。你可以这样做:

DataGrid.SelectedItem

...

<C1DataGrid:C1DataGrid Name="DataGrid" HorizontalAlignment="Left" Margin="10,0,0,10"
    VerticalAlignment="Bottom" Width="504" Height="143" 
    ItemsSource="{Binding dtPatientData}" />