Почему в переменную не записывает текст из 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 ?
