2010-03-13 15 views
5

पर डबल-क्लिक ईवेंट को कार्यान्वित करना किसी भी अच्छी आत्मा में सिल्वरलाइट 4.0 डेटाग्रिड में डबल क्लिक ईवेंट पर प्रिज्म द्वारा पेश किए गए "कमांड पैटर्न" को लागू करने का एक उदाहरण है?सिल्वरलाइट 4 डाटाग्रिड

मैं निम्नलिखित की कोशिश की:

<data:DataGrid x:Name="dgUserRoles" AutoGenerateColumns="False" Margin="0" Grid.Row="0" ItemsSource="{Binding Path=SelectedUser.UserRoles}" IsReadOnly="False"> 
    <data:DataGrid.Columns> 
     <data:DataGridTemplateColumn Header=""> 
      <data:DataGridTemplateColumn.CellTemplate> 
       <DataTemplate> 
        <Button Width="20" Height="20" Click="Button_Click" Command="{Binding EditRoleClickedCommand}" CommandParameter="{Binding SelectedRole}" /> 
       </DataTemplate> 
      </data:DataGridTemplateColumn.CellTemplate> 
     </data:DataGridTemplateColumn> 
     <data:DataGridTextColumn Header="Role Name" Binding="{Binding RoleName}" /> 
     <data:DataGridTextColumn Header="Role Code" Binding="{Binding UserroleCode}" IsReadOnly="True"/> 
     <data:DataGridCheckBoxColumn Header="UDFM Managed" Binding="{Binding RoleIsManaged}" IsReadOnly="True" /> 
     <data:DataGridCheckBoxColumn Header="UDFM Role Assigned" Binding="{Binding UserroleIsUdfmRoleAssignment}" IsReadOnly="True" /> 
     <data:DataGridTextColumn Header="Source User" Binding="{Binding SourceUser}" IsReadOnly="True" /> 
    </data:DataGrid.Columns> 
</data:DataGrid> 

जैसा कि आप देख मैं वहाँ कमान ऊपर हुक करने की कोशिश की थी और यह मेरे दृश्य मॉडल में घटना फायरिंग नहीं है।

एक अच्छा विकल्प खोज रहे हैं।

+0

मुझे यहां कोई डबल-क्लिक कोड दिखाई नहीं देता है। – Gabe

+0

मैं इसका उत्तर जानना चाहूंगा, डबल क्लिक को लागू करने का सबसे अच्छा तरीका क्या है? –

उत्तर

1

पहला, बटन। कॉमांड डबल-क्लिक के लिए नहीं है। यह एक क्लिक के साथ भी काम करेगा।

आपको इस तरह बदलने की जरूरत है। ElementName = dgUserRoles, पथ = DataContext।

Command="{Binding ElementName=dgUserRoles, Path=DataContext.EditRoleClickedCommand}" 
संबंधित मुद्दे