Почему в переменную не записывает текст из TextBlock?

Вот страница, она получает данные из другой страницы

<Page x:Class="Library.Pages.DocumentBooksPage"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
      xmlns:local="clr-namespace:Library.Pages"
      mc:Ignorable="d" 
      d:DesignHeight="450" d:DesignWidth="800"
      Title="DocumentBooksPage">

    <Grid Margin="10" x:Name="gridDate" >


        <TextBlock x:Name="tbId" Text="{Binding Id}" HorizontalAlignment="Center"  VerticalAlignment="Center"
                   Panel.ZIndex="2"   FontSize="220"/>
       

        <DocumentViewer  Style="{DynamicResource DocumentViewerStyleBooks}" x:Name="doc"/>

    </Grid>
</Page>

Число 3 это полученное значение из другой страницы

введите сюда описание изображения

Вот код этой страницы

namespace Library.Pages {
    /// <summary>
    /// Логика взаимодействия для DocumentBooksPage.xaml
    /// </summary>
    public partial class DocumentBooksPage : Page
    {
        private Book _currentBook = new Book();

        public DocumentBooksPage(Book selectBook)
        {
            InitializeComponent();

            if(selectBook != null)
            {
                _currentBook = selectBook;
            }

           // Тут TextBlock схватывает значение
           DataContext = _currentBook;

           // Тут уже в переменную записывается значение TextBlock
           DocumentShow();

        }
        public void DocumentShow()
        {       
            var id = tbId.Text;

            MessageBox.Show(id.ToString());
        }      
    } }

В страница получает DataContext из другой страницы. Фотография тройки тому результат.

В методе DocumentShow() в переменную пытаюсь записать текст с TextBlock, но выводится пустое сообщение ПОЧЕМУ ?

Вот как это всё происходит, по нажатии кнопки в другой страницы кнопка собирает контекст выбранного элемента

 private void btnBookDocument_Click(object sender, RoutedEventArgs e)
        {
            NavigationManager.StartFrame.Navigate(new DocumentBooksPage((sender as Button).DataContext as Book));
        }

И это вся передаётся другой странице, почему я в переменную записать не могу текст с TextBlock ?


Ответы (1 шт):

Автор решения: Кирилл

Вопрос решен

Page_Loaded .....

→ Ссылка