TabControl上剩余的验证工具提示

TabControl上剩余的验证工具提示,第1张

概述我有TabControl,TextBox和验证工具提示的问题. 想象一下,TabControl有两个TabItems.在第一项上有一个简单的TextBox.此TextBox Text属性绑定到UserControl本身的字符串属性,Mode = TwoWay,ValidatesOnExceptions = True.只要设置了某些内容,该Text属性的setter就会抛出异常. UserContr 我有TabControl,TextBox和验证工具提示的问题.

想象一下,TabControl有两个TabItems.在第一项上有一个简单的TextBox.此TextBox Text属性绑定到UserControl本身的字符串属性,Mode = TwoWay,ValIDatesOnExceptions = True.只要设置了某些内容,该Text属性的setter就会抛出异常.

UserControl的Resources部分包含TextBox和验证工具提示的新默认样式(但这些样式和模板取自MSDN).

现在在TextBox中输入一些内容并让验证工具提示出现:

然后切换到第二个选项卡.验证工具提示仍然是:

我已经制作了一个包含Silverlight应用程序的VS解决方案来演示这个问题. VS解决方案zip存档可在here获得.

是否有人遇到类似的问题,甚至解决了这个问题?

免责声明:关于Silverlight 4有类似的问题here on StackOverflow,自大约一年半以来一直未得到答复.
我已经在silverlight.net发布了这个问题但几天没有回复.

解决方法 我认为这是TabControl实现的一个错误.我已经实现了这种行为来修复我们的应用程序:

public class TabControlFixBehavior: Behavior<TabControl>{    protected overrIDe voID OnAttached()    {        Associatedobject.SelectionChanged += AssociatedobjectOnSelectionChanged;        base.OnAttached();    }    protected overrIDe voID OnDetaching()    {        Associatedobject.SelectionChanged -= AssociatedobjectOnSelectionChanged;        base.OnDetaching();    }    private voID AssociatedobjectOnSelectionChanged(object sender,SelectionChangedEventArgs args)    {        if (args.RemovedItems.Count > 0)        {            var oldTabItem = args.RemovedItems[0] as TabItem;            if (oldTabItem != null)            {                var popups = VisualTreeHelper.GetopenPopups();                foreach (var popup in popups)                {                    var tooltip = popup.Child as tooltip;                    if (tooltip != null)                    {                        if (VisualTreeHelper.GetRoot(tooltip.PlacementTarget) == oldTabItem.Content)                        {                            popup.IsOpen = false;                        }                    }                }            }        }    }}
总结

以上是内存溢出为你收集整理的TabControl上剩余的验证工具提示全部内容,希望文章能够帮你解决TabControl上剩余的验证工具提示所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1000971.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存