我在 App.xaml :
中有一个类似于此的控制模板 <ControlTemplate x:Key="Register" >
<Grid>
<TextBox Name="REGUSEBOX"/>
<ButtonName="REGBUTTON" Click="Button_Click" />
</Grid
</ControlTemplate>
Button_Click 方法是在 App.xaml.cs 中生成的,并且工作正常,但我无法访问文本框。
如何在Click方法中访问文本框? 感谢
答案 0 :(得分:1)
sender
事件的{p> Click
是Button
。您可以将其转换为Button
类型,取父级(Grid
),按名称查找父级子元素并将其强制转换为TextBox
private void Button_Click(object sender, RoutedEventArgs e)
{
Button button = sender as Button;
Grid grd = button.Parent as Grid;
TextBox txt = grd.FindName("REGUSEBOX") as TextBox;
}
注意:wpf方法通常不需要这样的操作。绑定TextBox + Command for Button应该允许在模型中完成所有工作,而不是在后面的代码中。如果控件必须根据某些条件更改其外观,则样式和触发器可以提供帮助
答案 1 :(得分:0)
这应该可以解决问题:
private void Button_Click(object sender, RoutedEventArgs e)
{
Button button = sender as Button;
}
答案 2 :(得分:0)