我不知道它是否被称为参数(即textbox1.text = "Hello";
)。
我有一个控件,里面有一个文本框。它有一个下拉框,在文本更改时打开。但是,当我更新文本框中的文本时,该框会下拉。
我需要一种方法来制作它,只有当有人手动完成时它才会下降。
TBAddressBar.ABText.Text = getCurrentBrowser().Source.ToString();
和
public void ABText_TextChanged(object sender, TextChangedEventArgs e)
{
if (sender == 1*)
{
ABDropDown.Visibility = Visibility.Visible;
}
else
{
ABDropDown.Visibility = Visibility.Collapsed;
}
}
答案 0 :(得分:1)
答案 1 :(得分:1)
我过去所做的是使用我在程序上更新文本框时设置的布尔变量,以绕过TextChangedEvent。
即
bool loading;
....
loading =true;
TBAddressBar.ABText.Text = getCurrentBrowser().Source.ToString();
loading = false;
public void ABText_TextChanged(object sender, TextChangedEventArgs e)
{
if(loading) return;
....
}
答案 2 :(得分:0)
简单,只需从TextChanged事件中删除代码。
无论如何你有了基本的想法..现在在KeyPress事件中做你的下拉逻辑,因为它只接受字符而不接受修饰符。所以它表现得更接近你的要求。不是你不能使用KeyDown和KeyUp来处理相同的事情,你可以,但更多的代码..