Я создаю форму, которая имеет обычную форму текстового поля рядом с кнопкой «Обзор ...».Если файл просматривается, он вставляется в текстовое поле.
Я хочу использовать отдельную функцию для чтения в файле, но не могу найти способ получить текствыходит за рамки функции, которая вставляет ее при закрытии диалогового окна просмотра.
Таким образом, текст XAML выглядит так:
<TextBlock Grid.Row="3" Grid.ColumnSpan="3">Source File:</TextBlock>
<TextBox Grid.Row="4" Grid.ColumnSpan="3" Name="FileNameTextBox" Margin="2"></TextBox>
<Button Grid.Column="3" Margin="2" Name="button1" Click="button1_Click" Grid.Row="4">Browse...</Button>
И код C #, стоящий за ним, таков:
public void button1_Click(object sender, RoutedEventArgs e)
{
// Create OpenFileDialog
Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
// Set filter for file extension and default file extension
dlg.DefaultExt = ".txt";
dlg.Filter = "Text documents (.txt)|*.txt";
// Display OpenFileDialog by calling ShowDialog method
Nullable<bool> result = dlg.ShowDialog();
// Get the selected file name and display in a TextBox
if (result == true)
{
// Open document
string filename = dlg.FileName;
FileNameTextBox.Text = filename;
}
}
Я новичок во всем этом, поэтому, пожалуйста, объясните это так, чтобы я мог понять, если это возможно ... Но после этого, почему я не могу сослаться на текст в другой функции с "FileNameTextBox.Text" снова?Разве это не существует в XAML, а не в коде C #?Новая функция не может "видеть" ее.
Мне кажется, что это как-то связано с наличием "(отправителя объекта ..." в функции просмотра, но я не вижу способа сделать то же самоеснова без необходимости нажимать после нее кнопку «Читать, что вы только что просмотрели», что не имело бы смысла.
Будет ли {связывание} текстового поля в этот другой код каким-то образом работать? У меня нетнашел описание того, что позволило мне понять его достаточно хорошо, чтобы использовать его вообще.
Даже если это сработало, я до сих пор не понимаю, какие места я могу и не могу объявить«DataContext», поскольку он не предлагается в половине случаев.
РЕДАКТИРОВАТЬ: Итак, я вернулся к нему позже в тот же день, и, с помощью того, что я могу только изображение, является классическим случаем добавления илиудалив соблазнительную скобку, C # внезапно смог обнаружить объект FileNameTextBox, где я печатал. Wack. В любом случае, спасибо всем.