首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用属性控制Adorner的可见性?

使用属性控制Adorner的可见性?
EN

Stack Overflow用户
提问于 2011-09-18 16:39:31
回答 1查看 2.9K关注 0票数 0

根据类中属性的值,Adorner是否可能被隐藏/显示?

我应该为此使用附加的属性吗?

如果是这样,如何精确地控制Adorner的可见性;是否必须手动删除它/将其添加到依赖对象的OnChanged事件中的Adorner层?

这只是我想要做的事情的一个非常快速的代码表示:

(Note:我甚至不确定这是否是正确的做事方式。我希望Adorner的可见性由我的业务模型中的代码修改的属性值控制。附加属性的问题是控件有责任更新属性的值,而不是我的业务域中的代码。)

代码语言:javascript
复制
public static class IsValidBehavior
{
    public static readonly DependencyProperty IsValidProperty = DependencyProperty.RegisterAttached("IsValid",
                                                                    typeof(bool),
                                                                    typeof(IsValidBehavior),
                                                                    new UIPropertyMetadata(false, OnIsValidChanged));

    public static bool GetIsValid(DependencyObject obj)
    {
        return (bool)obj.GetValue(IsValidProperty);
    }
    public static void SetIsValid(DependencyObject obj, bool value)
    {
        obj.SetValue(IsValidProperty, value);
    }

    private static void OnIsValidChanged(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs e)
    {
        UIElement element = dependencyObject as UIElement;

        if (element == null)
            return;

        if ((bool)e.NewValue == true)
        {
            // Display the Adorner
        }
        else
        {
            // Hide the Adorner
        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-18 17:19:09

如果我正确地理解了您的问题,那么在WPF中,您有两种方法可以通过代码或XAML来做到这一点。从代码中,您或多或少已经做了,在XAML中您可以这样做,我认为:

代码语言:javascript
复制
Visibility="{Binding Path=MyVisibilityVariant, 
       Converter={StaticResource VisibilityConverter}}

换句话说,将其绑定到某个属性。我的一般建议是:在可能的时候使用XAML,考虑几个变体:

  • XAML声明使软件变得非常可扩展,但也更复杂(考虑一下您的,或您的组的能力,在某种程度上做代码背后的内容是最好的,如果不仅仅是可用的解决方案)。
  • 考虑到您的截止日期,因为在XAML上实现/调试/修复您将花费更多的时间在代码上。

编辑

定义自定义Adorder以便能够在XAML中定义

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7462855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档