2010-08-06 72 views
1

My ViewModel有一个名为Commands的属性,它的类型为IDictionary。 对于我的数据网格,我创建了一个控件模板使用的按钮如下字段中的一个:WPF在ControlTemplate中对ViewModel的属性进行绑定Button.Command

<ControlTemplate TargetType="{x:Type igDP:CellValuePresenter}"> 
     <Button Style="{DynamicResource btnRemove}" Width="14" Height="14" 
           Content="{TemplateBinding Content} " 
           CommandParameter="{Binding ViewID}" 
           Command="{Binding Commands[AcknowledgeErrorCmd]}" /> 
        <ControlTemplate.Triggers> 
        </ControlTemplate.Triggers> 
       </ControlTemplate> 

点击按钮,什么都不做,它告诉我的绑定没有工作。但是,添加到托管此网格的同一窗口的工具栏中的无风格按钮可以正确地绑定到此命令。我想我的问题是:

我是否将ControlTemplate中使用的按钮的命令属性绑定到ViewModel?

TIA。

回答

0

我不确定是什么问题,但尝试调试您的解决方案,并查看与组合框中选择的调试的输出窗口,你会看到绑定过程中发生的错误。也许这会帮助你解决问题。 如果您不明白,请将错误作为对此帖子的评论。

0

我这样做,而不是:

<ControlTemplate TargetType="{x:Type igDP:CellValuePresenter}">           
        <Border > 
         <TextBlock Margin="5"> 
           <Hyperlink 
            CommandParameter="{Binding ElementName=root, Path=DataContext.ViewID}" 
            Command="{Binding ElementName=root, Path=DataContext.Commands[AcknowledgeErrorCmd]}"> 
            <TextBlock Text="Acknowledge"/>         
           </Hyperlink>                     
          </TextBlock> 
        </Border>     
       </ControlTemplate> 

和工作正常。这可能与提供的Viko职位有关。

相关问题