我有一个数据网格,单击该数据网格将显示一个供用户输入的文本框。我可以在文本框中显示详细信息。现在,我在datatemplate内部有一个Update按钮。单击更新按钮后,我希望用户输入并进行处理。
这是我的xaml代码:
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<Border BorderThickness="0" Background="BlanchedAlmond" Padding="10">
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<TextBlock FontSize="12" Text="First Name: " VerticalAlignment="Center" />
<TextBox x:Name="txtFirstName" FontSize="16" Foreground="MidnightBlue" Text="{Binding UserFirstName}" VerticalAlignment="Center" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock FontSize="12" Text="Last Name: " VerticalAlignment="Center" />
<TextBox x:Name="txtLastName" FontSize="16" Foreground="MidnightBlue" Text="{Binding UserLastName}" VerticalAlignment="Center" />
</StackPanel>
<StackPanel>
<Button x:Name="btnUpdate" Content="Update" VerticalAlignment="Center" HorizontalAlignment="Right" Click="btnUpdate_Click"/>
</StackPanel>
</StackPanel>
</Border>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
这是我的.cs代码:
void btnUpdate_Click(object sender, RoutedEventArgs e)
{
string firstName;
firstName = txtFirstName.Text;
}
txtFirstName.Text显示Does Not Exist In The Current Context
答案 0 :(得分:0)
由于它位于数据模板中,因此您可能必须执行类似https://code.msdn.microsoft.com/windowsapps/How-to-access-a-control-6039571a
的操作或者使用已有的绑定,只需将模式设置为TwoWay。
{绑定UserFirstName,Mode = TwoWay}