MVVM命令绑定错误

时间:2014-10-24 11:50:59

标签: c# xaml mvvm telerik silverlight-5.0

我的命令绑定不是火,但它按预期用另一个按钮工作 我的Xaml,

<telerik:HierarchicalDataTemplate x:Key="TagTemplate" ItemsSource="{Binding Tags_CustmFldDetails.TagsList}" >
        <StackPanel Orientation="Horizontal">               
            <TextBlock Text="{Binding TagName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" />
            <telerik:RadRibbonButton  Command="{Binding DataContext.Tags_CustmFldDetails.DeleteTags_CustmFldCommand}" CommandParameter="{Binding}" SmallImage="../Images/delete_icon.png" />
        </StackPanel>
    </telerik:HierarchicalDataTemplate>

RadRibbonButton的命令没有触发,
错误是,

  

System.Windows.Data错误:BindingExpression路径错误:   未找到“Tags_CustmFldDetails”属性   'ChurchHub.Server.ReqResp.DTO.PlannerTagSerializable'   'ChurchHub.Server.ReqResp.DTO.PlannerTagSerializable'   (的HashCode = 55932620)。 BindingExpression:   路径= 'Tags_CustmFldDetails.TagsList'   的DataItem = 'ChurchHub.Server.ReqResp.DTO.PlannerTagSerializable'   (的HashCode = 55932620);目标元素是   'Telerik.Windows.Controls.RadTreeViewItem'(Name ='');目标财产   是'ItemsSource'(输入'System.Collections.IEnumerable')..

这个命令在这个“HierarchicalDataTemplate”的外面完美地工作 尝试使用添加

Command="{Binding DataContext.Tags_CustmFldDetails.DeleteTags_CustmFldCommand, RelativeSource={RelativeSource FindAncestor, AncestorType=UserControl}} 

但没有发生任何事,同样的错误 “Tags_CustmFldDetails”是命令托管视图模型 怎么解决这个问题?

1 个答案:

答案 0 :(得分:1)

抱歉......我只是改变Ancestor类型。现在它的工作。
在我的按钮中,

<telerik:RadRibbonButton  Command="{Binding  RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl},Path=DataContext.Tags_CustmFldDetails.DeleteTags_CustmFldCommand}" 
                                      CommandParameter="{Binding}" 
                                      SmallImage="../Images/delete_icon.png" 
                                      />

我改变了相对来源绑定。