与Relativesource的数据绑定依赖属性

时间:2013-02-21 16:28:21

标签: c# wpf data-binding user-interface mvvm

我在目前的代码中遇到了一个问题。

UI有一个按钮,它被数据绑定到依赖项属性showbutton。它建立在MVVM架构之上。

XAML看起来像这样。

<Grid>
.........
<Button .... IsEnabled="{Binding Path=class1.class2.showbutton,RelativeSource={RelativeSource FindAncestor, AncestorType=views:view2, Mode=FindAncestor, AncestorLevel=1}}"/>

............... &LT; \网格和GT;

注册的dependencyproperty看起来像这样

public static readonly DependencyProperty buttonDisplay= DependencyProperty.Register("showbutton", typeof(bool), typeof(class2), new PropertyMetadata((bool)false));

public bool showbutton
{
    get { return (bool)GetValue(buttonDisplay); }
    set { SetValue(buttonDisplay, value); }
}

通过

调用更新
private void UpdateProperties()
 {
   showbutton= User.CheckPrivilege("ShudEnable");        }
 }

根据showbutton没有启用按钮。可能是什么问题?是否可以以编程方式更改showbutton值。如果是这样的话?

1 个答案:

答案 0 :(得分:1)

尝试此DataContext.class1.class2.showbutton - 确保绑定路径正确。您可以使用名为snoop的实用程序检查绑定错误。 http://snoopwpf.codeplex.com/