TextBox onchange 事件在 WPF 中使用占位符触发两次
TextBox onchange event is frining twice with placeholder in WPF
我使用下面的 link、
向文本框添加了一个占位符
http://www.techken.in/coding/c-wpf-create-textbox-placeholder-using-xaml-code/
下面是我使用的文本框语法,
<TextBox Style="{StaticResource placeHolder}" Tag="Input text" Text="
{Binding Path=Token,Mode=OneWayToSource,
UpdateSourceTrigger=PropertyChanged}" cal:Message.Attach="[Event
TextChanged] = [Action OnChangeEvent()]" />
保留 placeHolder 时事件触发两次。如果我删除位于 placeHolder xaml 内的文本框的 UpdateSourceTrigger,我将无法获得更改后的 属性 值。任何人都请告诉我如何使它仅使用占位符点击一次 OnChangeEvent。
尝试获取 属性 setter 中的值,这样 属性 就不会设置两次,从而导致 OnChangeEvent 触发两次。试试下面的方法
if (value == _token) return;
public string Token
{
get => _token;
set
{
if (value == _token)
{
return;
}
_token = value;
OnPropertyChanged();
}
}
我使用下面的 link、
向文本框添加了一个占位符http://www.techken.in/coding/c-wpf-create-textbox-placeholder-using-xaml-code/
下面是我使用的文本框语法,
<TextBox Style="{StaticResource placeHolder}" Tag="Input text" Text="
{Binding Path=Token,Mode=OneWayToSource,
UpdateSourceTrigger=PropertyChanged}" cal:Message.Attach="[Event
TextChanged] = [Action OnChangeEvent()]" />
保留 placeHolder 时事件触发两次。如果我删除位于 placeHolder xaml 内的文本框的 UpdateSourceTrigger,我将无法获得更改后的 属性 值。任何人都请告诉我如何使它仅使用占位符点击一次 OnChangeEvent。
尝试获取 属性 setter 中的值,这样 属性 就不会设置两次,从而导致 OnChangeEvent 触发两次。试试下面的方法
if (value == _token) return;
public string Token
{
get => _token;
set
{
if (value == _token)
{
return;
}
_token = value;
OnPropertyChanged();
}
}