是否可以从(ResourceDictionary 的)后面的代码访问命名控件?
例如,对我来说,有必要创建很多文件夹选择对话框。对于必须选择的每个文件夹,一个对话框可能包含几行。每行包括:标签(名称)、文本框(选择的路径)和一个按钮(打开 FileBrowserDialog)。
所以现在我想在 FileBrowserDialog 完成后访问 TextBox。但我无法从 CodeBehind 访问“SelectedFolderTextBox”。
有没有更好的方法来实现我想做的事情?
XAML
<ResourceDictionary ...>
...
<StackPanel x:Key="FolderSearchPanel"
x:Shared="False">
<Label Content="Foldername"/>
<TextBox x:Name="SelectedFolderTextBox"
Text="C:\Folder\Path\"/>
<Button Content="..."
Click="Button_Click"/>
</StackPanel>
</ResourceDictionary>
代码隐藏
private void Button_Click(object sender, RoutedEventArgs e)
{
// Initialize and show
var dialog = new System.Windows.Forms.FolderBrowserDialog();
System.Windows.Forms.DialogResult result = dialog.ShowDialog();
// Process result
if (result == System.Windows.Forms.DialogResult.OK)
{
string selectedPath = dialog.SelectedPath;
SelectedFolderTextBox.Text = selectedPath; // THIS DOES NOT WORK
// since I don't have access to it
// but describes best, what I want to do
}
}