2012-03-12 4 views
0

Я использую silverlight4 mvvmlight. Я хочу запустить командное событие из Datagrid. Мой код для DataGrid является:Как запустить командное событие в DataGrid?

<sdk:DataGrid ItemsSource="{Binding ScheduleInProcessSource.View, Mode= TwoWay}" SelectedItem="{Binding CurrentActivity, Mode=TwoWay}" AutoGenerateColumns="False"> 
      <sdk:DataGrid.Columns> 
       <sdk:DataGridTextColumn Header="Start" Binding="{Binding Path=Start}"/> 

       <sdk:DataGridTextColumn Header="Subject" Binding="{Binding Path=Subject}"/> 

       <sdk:DataGridTextColumn Header="StoreName" Binding="{Binding Path=Outlet.OutletName}"/> 
       <sdk:DataGridTextColumn Header="AddressLine1" Binding="{Binding Path=Outlet.Address.AddressLine1}"/> 
       <sdk:DataGridTextColumn Header="AddressLine2" Binding="{Binding Path=Outlet.Address.AddressLine2}"/> 
       <sdk:DataGridTextColumn Header="OwnerName" Binding="{Binding Path=Outlet.OwnerName}"/> 
       <sdk:DataGridTextColumn Header="ContactName" Binding="{Binding Path=Contact.FirstName}"/> 
       <sdk:DataGridTextColumn Header="PhoneNo" Binding="{Binding Path=Outlet.Phone}"/> 
       <sdk:DataGridTextColumn Header="MobileNo" Binding="{Binding Path=Outlet.Mobile}"/> 

       <sdk:DataGridTemplateColumn IsReadOnly="False"> 
        <sdk:DataGridTemplateColumn.CellTemplate> 
         <DataTemplate> 
          <HyperlinkButton Content="Edit" Click="btnEdit_Click"/> 
         </DataTemplate> 
        </sdk:DataGridTemplateColumn.CellTemplate> 
       </sdk:DataGridTemplateColumn> 
       <sdk:DataGridTemplateColumn IsReadOnly="False"> 
        <sdk:DataGridTemplateColumn.CellTemplate> 
         <DataTemplate> 
          <HyperlinkButton Content="Resume" Command="{Binding ResumeAuditing}"/> 
         </DataTemplate> 
        </sdk:DataGridTemplateColumn.CellTemplate> 
       </sdk:DataGridTemplateColumn> 
       <sdk:DataGridTemplateColumn IsReadOnly="False"> 
        <sdk:DataGridTemplateColumn.CellTemplate> 
         <DataTemplate> 
          <HyperlinkButton Content="Delete" Command="{Binding DeleteCommand}"/> 
         </DataTemplate> 
        </sdk:DataGridTemplateColumn.CellTemplate> 
       </sdk:DataGridTemplateColumn> 
      </sdk:DataGrid.Columns> 
     </sdk:DataGrid> 

Но команда не работает. Как я мог преодолеть ситуацию? Пожалуйста, помогите мне ..

+0

вы хотите, чтобы огнь события от кнопки внутри DataGrid? – Java

+0

Да, я хочу запустить командное событие гиперссылки, я установил Command = {Binding ...}, но это не сработает. У вас есть решение? Пожалуйста, помогите мне в этом. – R76

+0

пройдите через [http://www.vbforums.com/showthread.php?t=608519], который может вам помочь. – Java

ответ

3

Я нашел решение

<sdk:DataGrid ItemsSource="{Binding ScheduleInProcessSource.View, Mode= TwoWay}" SelectedItem="{Binding CurrentActivity, Mode=TwoWay}" AutoGenerateColumns="False" x:Name="dgInProcess"> 
      <sdk:DataGrid.Columns> 
       <sdk:DataGridTextColumn Header="Start" Binding="{Binding Path=Start}"/> 

       <sdk:DataGridTextColumn Header="Subject" Binding="{Binding Path=Subject}"/> 

       <sdk:DataGridTextColumn Header="StoreName" Binding="{Binding Path=Outlet.OutletName}"/> 
       <sdk:DataGridTextColumn Header="AddressLine1" Binding="{Binding Path=Outlet.Address.AddressLine1}"/> 
       <sdk:DataGridTextColumn Header="AddressLine2" Binding="{Binding Path=Outlet.Address.AddressLine2}"/> 
       <sdk:DataGridTextColumn Header="OwnerName" Binding="{Binding Path=Outlet.OwnerName}"/> 
       <sdk:DataGridTextColumn Header="ContactName" Binding="{Binding Path=Contact.FirstName}"/> 
       <sdk:DataGridTextColumn Header="PhoneNo" Binding="{Binding Path=Outlet.Phone}"/> 
       <sdk:DataGridTextColumn Header="MobileNo" Binding="{Binding Path=Outlet.Mobile}"/> 

       <sdk:DataGridTemplateColumn IsReadOnly="False"> 
        <sdk:DataGridTemplateColumn.CellTemplate> 
         <DataTemplate> 
          <HyperlinkButton Content="Edit" Click="btnEdit_Click"/> 
         </DataTemplate> 
        </sdk:DataGridTemplateColumn.CellTemplate> 
       </sdk:DataGridTemplateColumn> 
       <sdk:DataGridTemplateColumn IsReadOnly="False"> 
        <sdk:DataGridTemplateColumn.CellTemplate> 
         <DataTemplate> 
          <HyperlinkButton Content="Resume"> 
           <i:Interaction.Triggers> 
            <i:EventTrigger EventName="Click"> 
             <cmd:EventToCommand Command="{Binding Source={StaticResource VMLocator}, Path=ScheduleViewModel.ResumeAuditing}" PassEventArgsToCommand="True"/> 
            </i:EventTrigger> 
           </i:Interaction.Triggers> 
          </HyperlinkButton> 
         </DataTemplate> 
        </sdk:DataGridTemplateColumn.CellTemplate> 
       </sdk:DataGridTemplateColumn> 
       <sdk:DataGridTemplateColumn IsReadOnly="False"> 
        <sdk:DataGridTemplateColumn.CellTemplate> 
         <DataTemplate> 
          <HyperlinkButton Content="Delete"> 
           <i:Interaction.Triggers> 
            <i:EventTrigger EventName="Click"> 
             <cmd:EventToCommand Command="{Binding Source={StaticResource VMLocator}, Path=ScheduleViewModel.DeleteCommand}" PassEventArgsToCommand="True"/> 
            </i:EventTrigger> 
           </i:Interaction.Triggers> 


          </HyperlinkButton> 
         </DataTemplate> 
        </sdk:DataGridTemplateColumn.CellTemplate> 
       </sdk:DataGridTemplateColumn> 
      </sdk:DataGrid.Columns> 
     </sdk:DataGrid> 

Это будет работать ..

+0

Хорошо ................................ – Java

Смежные вопросы