我有几个用户控件,它们分别位于一个tabcontrol的不同选项卡之间。除了一个以外,所有这些用户控件均具有功能正常的文本框。在此特定控件上,我无法在其任何文本框控件中编辑值。
我可以在文本框中找到光标,并且可以突出显示文本,但是不能删除或添加文本。它所在的UserControl没什么特别的。它不是弹出窗口,也不是类似的东西(我知道这可能会引起问题)。
在文本框之外,是否有任何其他东西可能导致此问题?我没有主意...
<TextBox x:Name="SpeedRange3Text" Width="35" Height="20"
FontSize="8"
Style="{StaticResource TextBoxStyle}"
MaxLength="4"
HorizontalAlignment="Center"
VerticalAlignment="Center"
TextAlignment="Center"
Text="{Binding SpeedRange3 }"
IsReadOnly="False"
Grid.Row="0" Grid.Column="3"/>
public double SpeedRange3
{
get
{
return _spdRng_3;
}
set
{
if (value <= 60 && value >= 0)
{
_spdRng_3 = value;
}
else
{
_spdRng_3 = 0;
MessageBox.Show("Enter a value between 0 and 60");
}
NotifyPropertyChanged("SpeedRange3");
}
}
答案 0 :(得分:0)
如果您正在对该文本框的TextChanged事件进行一些操作, 将断点添加到代码中的TextChanged事件中,然后看看会发生什么。当我键入内容时,事件也清除了,我也遇到了类似的问题。只是一个猜测。
答案 1 :(得分:0)
我的猜测是,重点仍然放在应用程序中的其他窗口上。也许您应该尝试着重于Window / UserControl
答案 2 :(得分:0)
我正在回答这个旧线程,希望它可以帮助某人,因为我终于解决了我在这方面遇到的问题。 在我的特定情况下,TextBox 位于 DataGrid 中,该 DataGrid 的 IsHitTestVisible 属性设置为 False;删除此属性解决了问题。
作为澄清,这就是我所拥有的:
<DataGrid IsHitTestVisible="False">
<DataGrid.Columns>
<DataGridTemplateColumn IsReadOnly="False" Header="Value">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding Path=Value, UpdateSourceTrigger=LostFocus}" IsReadOnly="False" TextWrapping="WrapWithOverflow"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
这是工作代码:
<DataGrid>
<DataGrid.Columns>
<DataGridTemplateColumn IsReadOnly="False" Header="Value">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding Path=Value, UpdateSourceTrigger=LostFocus}" IsReadOnly="False" TextWrapping="WrapWithOverflow"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>