tags:

views:

126

answers:

3

My ViewModel has a property called Commands which is of type IDictionary. For my data grid I have created a ControlTemplate for one of the fields using a button as follows:

 <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>

Clicking on the button does nothing which tells me the binding did not work. However, an unstyled button added to the toolbar of the same window hosting this grid works, binds properly to this command. I guess my question is:

Hw do I bind the command property of a button used in a ControlTemplate to a ViewModel?

TIA.

A: 

I am not sure what the problem is but try to debug your solution and look into the output window with Debug selected in the combobox and you will see the errors that occur during binding. Maybe this will help you to the solution. Provide me the error as a comment on this post if you don't understand it.

Wouter Janssens - Xelos bvba
A: 

I have same problem, look here, this might be the solution :) http://community.infragistics.com/forums/t/32916.aspx let me know if this helped you.

viko
A: 

I did this instead:

<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>

and that works fine. It may be related to the post Viko provided.

e28Makaveli