【发布时间】:2012-03-03 19:24:22
【问题描述】:
我的 VS 项目中有两个文件:Custom.xaml 和 Custom.cs
在我的 XAML 文件中,我有以下文本框:
<TextBox x:Name="TextBox1" Text="{Binding Value, Mode=TwoWay}" Foreground="Black" Background="Green" SelectionChanged="TextBox1_SelectionChanged" />
<TextBox x:Name="TextBox2" Text="{Binding Value, Mode=TwoWay}" Foreground="Black" Background="Green" SelectionChanged="TextBox2_SelectionChanged" />
在我的.cs中,我有以下方法:
void TextBox1_SelectionChanged(object sender, RoutedEventArgs e)
{
TextBox t = e.Source as TextBox
}
我可以成功点击上面的事件处理程序。然后,我可以使用e.Source 获取TextBox1 及其属性,但我想访问TextBox2 及其属性。
作为旁注,.cs 文件只是我引用的 C# 类,而不是 xaml.cs。此外,我知道我可以通过 UserControl 实现这一点,但在这种情况下不能这样做,原因超出了本文的范围。
请告知我如何获取/设置TextBox2 的属性。
谢谢。
编辑:对此还有其他意见吗?作为一种解决方法,我添加了一个名为 TextBox2_Loaded 的事件处理程序,然后将 e.Source 设置为一个实例变量。然后,在 TextBox1_SelectionChanged 中,我可以访问实例变量。真的很想直接针对控件(例如 TextBox2.IsEnabled)。我一定在某处遗漏了声明或继承。甚至无法使用 FindName 找到控件。
【问题讨论】:
-
您是否使用 textbox2 作为重复控件的项目(gridview、listview..etc)?
-
不,我没有使用网格视图或列表视图