Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF数据绑定文本框光标位置重置。可能的错误?_Wpf_Data Binding_Textbox_Cursor Position - Fatal编程技术网

WPF数据绑定文本框光标位置重置。可能的错误?

WPF数据绑定文本框光标位置重置。可能的错误?,wpf,data-binding,textbox,cursor-position,Wpf,Data Binding,Textbox,Cursor Position,所以我有一个奇怪的问题。我有一个绑定到ViewModel的文本框: <TextBox DockPanel.Dock="Right" Text="{Binding Path=FilterText, UpdateSourceTrigger=PropertyChanged}"/> 有人能解释一下为什么会这样吗? 其他地方建议的解决方案包括将UpdateSourceTrigger更改为LostFocus,或使用附加行为手动设置光标位置。还有其他更简单的解决方案吗?或者这只是一个bug?获得

所以我有一个奇怪的问题。我有一个绑定到ViewModel的文本框:

<TextBox DockPanel.Dock="Right" Text="{Binding Path=FilterText, UpdateSourceTrigger=PropertyChanged}"/>
有人能解释一下为什么会这样吗?
其他地方建议的解决方案包括将
UpdateSourceTrigger
更改为
LostFocus
,或使用附加行为手动设置光标位置。还有其他更简单的解决方案吗?或者这只是一个bug?

获得了您的源代码,可能会重现这个问题。然而,它不是.NET4的问题之一,因为它在.NET4.5中也有同样的问题。事实证明,这在.NET中根本不是问题

ManageQuestionViewModel.cs中

开关

public void Initialize() {
...
  this.ViewCore.FocusQuestionData();
}

你完成了:)


哦,你不需要你添加的
ResetCaretBehavior
来尝试解决这个问题

获得了你的源代码,可以重现这个问题。然而,它不是.NET4的问题之一,因为它在.NET4.5中也有同样的问题。事实证明,这在.NET中根本不是问题

ManageQuestionViewModel.cs中

开关

public void Initialize() {
...
  this.ViewCore.FocusQuestionData();
}

你完成了:)


哦,你不需要你添加的
ResetCaretBehavior
来尝试解决这个问题了

如果你在
FilterText
属性设置器中对
FilterList()调用进行了注释,我猜问题不会发生?给我们看看FilterList代码,那里的一些东西会导致错误problem@blindmeis,这是代码。我还提供了方法中使用的ObservableCollectionEx的代码@AritraBhowmick我可以复制像这样的问题,但是你的对我来说很好。在返回
\u Questions
之前,请尝试在
FilterText
setter和
Questions
的属性getter中将对
FilterList()的调用替换为
RaisePropertyChanged(“Questions”)
,然后添加
FilterList()
方法调用。逻辑应该与此相同,并且可以修复某些线程更新问题。@Viv,按照您的建议做了。不走运。插入符号位置未正确更新。我甚至按照建议添加了一个行为。但是仍然是一样的。如果您在
FilterText
属性setter中对
FilterList()
的调用进行了注释,我猜问题不会出现。请向我们展示FilterList代码,这是导致错误的原因problem@blindmeis,这是代码。我还提供了方法中使用的ObservableCollectionEx的代码@AritraBhowmick我可以复制像这样的问题,但是你的对我来说很好。在返回
\u Questions
之前,请尝试在
FilterText
setter和
Questions
的属性getter中将对
FilterList()的调用替换为
RaisePropertyChanged(“Questions”)
,然后添加
FilterList()
方法调用。逻辑应该与此相同,并且可以修复某些线程更新问题。@Viv,按照您的建议做了。不走运。插入符号位置未正确更新。我甚至按照建议添加了一个行为。但还是一样。从没想过!嗯。从没想过!Thnx。
public void Initialize() {
...
  // this.ViewCore.FocusQuestionData();
}