2011-07-20 5 views
0

Je dois désactiver le bouton gridview seulement lorsque les données lient ou cliquez sur le bouton parce que je dois désactiver ce bouton pour les enregistrements existants et lorsque l'utilisateur ajouter un nouvel enregistrement doit activer mon bouton de grille.WPF gridview bouton colonne désactiver uniquement le bouton

ici est mon code XAML,

      <DataGridTemplateColumn.CellTemplate> 
           <DataTemplate> 
            <Button Name="grdBtnAdd" Cursor="Hand" Click="Button_Click_1" Width="20" Height="20" > 

             <Button.Template> 
              <ControlTemplate> 
               <Border Style="{StaticResource borstyle}" BorderBrush="#282828" BorderThickness=".5" CornerRadius="3" Name="bor" > 

                <Image Width="20" Height="18" Source="/Images\plus1.png"></Image> 
               </Border> 

              </ControlTemplate> 
             </Button.Template> 
            </Button> 
           </DataTemplate> 
          </DataGridTemplateColumn.CellTemplate> 
         </DataGridTemplateColumn> 

s'il vous plaît aidez-moi. J'ai trouvé comment désactiver le bouton après le bouton de grille de clic. J'ai besoin d'un moyen de désactiver les boutons de la grille.

+0

est-il possible de trouver météo le dossier est existant ou nouveau .. comme la propriété isnew dans l'objet ..? si oui, vous pouvez le faire en utilisant des déclencheurs de données – Bathineni

Répondre

0

Si je comprends bien la question correctement que les éléments suivants devraient fonctionner:

Bind le bouton propriété IsEnabled à une propriété dans le ViewModel.

<Button Name="grdBtnAdd" IsEnabled="{Binding IsNewRecordsAvailable}" Cursor="Hand" Click="Button_Click_1" Width="20" Height="20"> 
... 
</Button> 

Réglez le viewmodel que les vues de la DataContext:

Sub New() 
    Me.Datacontext = new viewModel 
End Sub 

Le viewmodel mettra en œuvre INotifyPropertyChanged, et la propriété ressemblera à ceci:

Private m_isNewRecordsAvailable As Boolean 
    Public Property IsNewRecordsAvailable() As Boolean 
     Get 
      Return m_isNewRecordsAvailable 
     End Get 
     Set(ByVal value As Boolean) 
      m_isNewRecordsAvailable = value 
      NotifyPropertyChanged("IsNewRecordsAvailable") 
     End Set 
    End Property 

Maintenant, quand vous voulez activer ou désactivez le bouton, définissez simplement IsNewRecordsAvailable sur true ou false.

Voici quelques exemples:

http://msdn.microsoft.com/en-us/library/ms229614.aspx http://www.codeproject.com/KB/cs/BindBetterINotifyProperty.aspx

+0

Tx MichaleS implement INotifyPropertyChanged est la solution. – janitheshan

Questions connexes