我已使用以下链接
在文本框中添加了占位符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中的Textbox的UpdateSourceTrigger,我无法获得更改的属性值。任何人都请告诉我如何才能使用占位符来点击OnChangeEvent。
答案 0 :(得分:1)
尝试在属性设置器中获取值,因此该属性未设置两次,导致OnChangeEvent触发两次。尝试以下方式
if(value == _token)return;
public string Token
{
get => _token;
set
{
if (value == _token)
{
return;
}
_token = value;
OnPropertyChanged();
}
}