gpt4 book ai didi

silverlight - SL4 文本框上的 IsTabStop = False

转载 作者:行者123 更新时间:2023-12-04 15:26:41 25 4
gpt4 key购买 nike

我在文本框中将 IsTabStop 设置为 false,我知道这会使控件无法接收焦点,但根据 Silverlight Forums ,它应该仍然能够接收鼠标事件。我在我的 tbxTotal_MouseLeftButtonUp 方法中连接了 MouseLeftButtonUp 事件和断点,并且在调试过程中它永远不会被击中。 SL 论坛中的帖子现在已经很旧了,所以这可能是在某个地方的更新中更改的。我想要一个无法使用 Tab 键切换但仍可编辑的文本框。真的应该这么难吗?

最佳答案

我没有意识到这一点,但似乎是这样,此外,我似乎无法让 MouseLeftButtonUp 触发。 MouseLeftButtonDown 确实触发了,使用它你可以做这个黑客。

<TextBox IsTabStop="False" MouseLeftButtonDown="TextBox_MouseLeftButtonDown" />

然后在代码中你可以像这样处理事件。
    private void TextBox_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
var textBox = ((TextBox) sender);
textBox.IsTabStop = true;
textBox.Focus();
textBox.IsTabStop = false;
}

将它包装在 CustomControl 中可能是值得的
public class FocusableTextBox : TextBox
{
protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
{
if (!IsTabStop)
{
IsTabStop = true;
Focus();
IsTabStop = false;
}

base.OnMouseLeftButtonDown(e);
}
}

关于silverlight - SL4 文本框上的 IsTabStop = False,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5791470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com