【问题标题】:Silverlight. Strange problem with binding银光。绑定的奇怪问题
【发布时间】:2010-11-11 21:23:45
【问题描述】:

我的数据类中有项目列表:

 public ObservableCollection<Node> NodesFromDatabase
    {
        get 
        {
            if (_nodesFromDatabase == null)
                _nodesFromDatabase =GenerateMenuNodes();
            return _nodesFromDatabase ;
        }
        set 
        {
            _nodesFromDatabase = value;
        }
    }

我想将此数据绑定到的控件中的属性:

       public ObservableCollection<Node> Nodes
        {
            get { return (ObservableCollection<Node>)GetValue(NodesProperty); }
            set
            {
                SetValue(NodesProperty, value);
            }
        }

        private static DependencyProperty NodesProperty =
   DependencyProperty.Register(
       "Nodes",
       typeof(ObservableCollection<Node>),
       typeof(Control),new PropertyMetadata(new  ObservableCollection<Node>()));

在 xaml 我有这样的代码:

    <Grid Background="White">
    <Grid.DataContext>
        <local:DataFromDataBase x:Name="database" />
    </Grid.DataContext>


    <local:Control Nodes="{Binding NodesFromDatabase}" />                
</Grid>

这段代码背后的逻辑很奇怪。

我的 NodesFromDatabase 属性在 get 语句中被触发,但控制节点 set 语句没有触发!我做错了什么?

【问题讨论】:

    标签: silverlight data-binding binding


    【解决方案1】:

    在 XAML 中设置的依赖属性可以绕过 CLR 包装器。如果您想知道属性何时更改,则应在属性元数据中创建属性更改回调。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-27
      • 2011-10-02
      • 1970-01-01
      • 2019-02-25
      • 1970-01-01
      • 2011-08-26
      • 2014-03-11
      相关资源
      最近更新 更多