2010-10-02 7 views
0

i ont une zone de liste qui prend des valeurs de dictionnaire Taille:WPF ListBox Databinding

c'est le type Taille:

public Dictionary<string, int> Size 
    { 
     get; 
     private set; 
    } 

c'est mon listbox

<ListBox x:Name="boardSize" ItemsSource="{Binding Size}" ItemTemplate="{DynamicResource DataTemplate1}" /> 

ceci est mon ASSOCIATED DataTemplate:

<Rectangle Margin="8,8,16,8" Stroke="Black" RadiusX="45" RadiusY="45"> 
<Rectangle.Fill> 
    <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> 
    <GradientStop Color="Black" Offset="0"/> 
    <GradientStop Color="#FFE24A4A" Offset="1"/> 
    </LinearGradientBrush> 
</Rectangle.Fill> 
</Rectangle> 
<TextBlock x:Name="textBlock" **Text="{Binding path=Size}"**/> 

J'ai deux problèmes:

  1. où je frappé légèrement ** Je veux que le texte TextBlock pour contenir la taille valeur de clé
  2. comment puis-je faire schéma de commande quand un bouton est poussé?

Répondre

2

A l'intérieur du ItemTemplate, le DataContext est un élément de la collection source, donc dans ce cas, il est un KeyValuePair<string, int>. Ainsi, le chemin vers la clé est juste « Key »:

<TextBlock x:Name="textBlock" Text="{Binding path=Key}"/> 

Votre deuxième question est pas très claire, que voulez-vous faire exactement? Habituellement, la liaison aux commandes est utilisée dans MVVM: vous liez à une propriété ICommand exposée par votre ViewModel. Cependant dans votre cas il n'y a pas ViewModel, puisque votre objet de données est un KeyValuePair<string, int> ... S'il vous plaît donner plus de détails si vous voulez une réponse plus complète

+0

mate où étiez-vous il ya une heure :) j'ai trouvé la même réponse dans http: //windowsclient.net/learn/video.aspx?v=30804 merci ... à propos de la commande je veux que cela invoque une autre grille (je veux faire un jeu de bord et c'est la taille de ma planche ...) vous pouvez trouver plus d'informations ici: http: //stackoverflow.com/questions/3846668/how-to-dynamicly-set-board-for-board-gamesize-using-xmal-in-wpf –