TextBox не существует в текущем контексте в DataGrgid DataRowTemplate - PullRequest
0 голосов
/ 03 сентября 2018

У меня есть сетка данных, которая при щелчке покажет текстовое поле для ввода данных пользователем. Я могу отобразить детали в текстовом поле. Теперь у меня есть кнопка Обновить внутри таблицы данных. После того, как я нажму на кнопку обновления, я хочу, чтобы пользовательский ввод был принят и обработан.

Это мой код 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

1 Ответ

0 голосов
/ 03 сентября 2018

Поскольку он находится внутри таблички данных, возможно, вам придется сделать что-то вроде https://code.msdn.microsoft.com/windowsapps/How-to-access-a-control-6039571a

Или используйте уже имеющуюся привязку, просто сделайте режим TwoWay.

{Binding UserFirstName, Mode = TwoWay}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...