1

我想要一个按钮将在列表框中选择的文本插入到文本框中。我正在尝试为此使用命令,我将当前插入符号索引作为命令参数传递,然后命令处理程序将在此索引处插入选定的文本。是否可以?我不知道如何在 xaml 中引用 aTextBox.CaretIndex

4

2 回答 2

2

这个问题类似于这个问题

关键是绑定属性 CaretIndex 是没有用的,因为它不是 DependencyProperty,因为您不会收到值更改的通知。具体来说,如果您直接绑定到 CaretIndex 程序将编译,但数据绑定中的 CaretIndex 的值将始终为 0,即使您在文本框中移动光标也是如此。

您可以改为创建可以绑定的附加属性,而不是 CaretIndex。此处提出了一种解决方案,其中添加了附加属性以绑定 SelectedText 属性,该属性也不是依赖项属性。这个想法是一样的。

于 2012-10-10T12:18:41.067 回答
0

你可以绑定到TextBoxby name 并CaretIndexPathprop

<TextBox Name="MyTextBox" Text="My Text" />
<Button Command="{Binding MyCommand}" CommandParameter="{Binding ElementName=MyTextBox Path=CaretIndex}"/>
于 2012-10-10T12:06:16.023 回答