MVVM模式里TextBox绑定GotFocus事件和Text值后无法获取到Text值
图怎么传不上来?
就是要实现一个查找框,平时用灰色在输入框里显示“请输入姓名查找”,当获取焦点后,这句提示就消失掉的那种功能,具体代码如下:
Xaml:
<TextBox Name="SerTextBox" Margin="0" TextWrapping="Wrap" Text="{Binding Filter}" Grid.ColumnSpan="2" Foreground="#FFB1B1B1" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="GotFocus">
<i:InvokeCommandAction Command="{Binding TextBoxGotFocusCommand}"/>
</i:EventTrigger>
<i:EventTrigger EventName="LostFocus">
<i:InvokeCommandAction Command="{Binding TextBoxLostFocusCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBox>
在ViewModel里是这样的:
private string filter;
public string Filter
{
get { return filter; }
set { filter = value;
this.RaisePropertyChanged("Filter");
}
}
private void GotFocusCommandExecute()
{
if (this.Filter.Trim() == "输入姓名或身份证号查找")
{
this.Filter = "";
}
}
private void serButMouseDownCommandExecute()
{
if (this.Filter != "")
{
//写查询代码 1
}
}
运行测试后发现,在1这里,无论你输入什么,this.Filter永远是空值,一开始是觉得绑定模式有问题,于是将Text的绑定模式写成Mode=TwoWay,发现还是不行。请问该如何解决?谢谢!