2016-01-29 1 views
1

J'ai un DataPager et je fais un téléavertissement personnalisé. Je veux placer la propriété ItemCount du DataPager selon le COUNT du total rows retourné. Mais j'ai découvert que ItemCount est une propriété read-only. Comment puis-je set il? un moyen de sortir?Comment implémenter l'interface IPagedCollectionView

L'interface IPagedCollectionView qui contient le nombre ItemCount propriété

public int ItemCount 
{ 
    get { throw new NotImplementedException(); } 
} 
public int TotalItemCount 
{ 
    get { throw new NotImplementedException(); } 
} 

Répondre

0

parce que la logique qui calculent (total) doit être encapsulé dans la classe

public int ItemCount 
{ 
    get { return YOURCALCULATIONMETHOD(); } 
} 
+0

Je l'ai essayé, mais il ne si vous avez pas encore la propriété –

+0

que « get », cela signifie que vous pouvez utiliser cette propriété uniquement pour "obtenir" le but, pas pour "définir". –

+0

Donc, je ne peux jamais définir sa valeur de toute façon? –

0

Il y a une façon, mais je ne ne sais pas Tu veux faire ça comme ça.

Je ne suis pas bon dans Silverlight, mais théoriquement, vous devez créer la classe qui hérite de IPagedCollectionView

public class MyPagedCollectionView : IPagedCollectionView 
{ 
public int ItemCount 
{ 
    get { return this.GetItemCount(); } 
} 
public int TotalItemCount 
{ 
    get { return this.GetTotalItemCount(); } 
} 

private int GetTotalItemCount() 
{ 
    // Implement the method 
} 

private int GetItemCount() 
{ 
    // Implement the method 
} 

} 
+0

on line 'get {this.GetItemCount(); } 'il y a une erreur' tous les chemins de code ne renvoient pas une valeur' –

+0

Oui, l'erreur est évidente, Vous devez implémenter cette méthode. Maintenant, cette méthode est vide –

+0

Je l'ai fait. J'ai retourné un int mais j'ai quand même eu l'erreur –