Liaison Datagrid dans WPF
Je sais que cela a été demandé déjà, mais je l'ai fait presque tout ce qui est proposé par les développeurs.
<DataGrid x:Name="Imported" VerticalAlignment="Top" DataContext="{Binding Source=list}" AutoGenerateColumns="False" CanUserResizeColumns="True">
<DataGrid.Columns>
<DataGridTextColumn Header="ID" Binding="{Binding Path=ID}"/>
<DataGridTextColumn Header="Date" Binding="{Binding Path=Date}"/>
</DataGrid.Columns>
</DataGrid>
Je suis en train d'afficher cette boîte de dialogue modale et le remplissage de la liste des licences dans le constructeur de la boîte de dialogue modale.
Mais encore rien n'est arriver peuplée à l'intérieur de la grille de données.
Code constructeur:
public diagboxclass()
{
List<object> list = new List<object>();
list = GetObjectList();
}
public class object
{
string id;
DateTime date;
public string ID
{
get { return id; }
set { id = value; }
}
public DateTime Date
{
get { return date; }
set { date = value; }
}
}
Avez-vous les gars pense que quelque chose à voir avec l'objet de la liste?
source d'informationauteur alice7
Vous devez vous connecter pour publier un commentaire.
S'il vous PLAÎT ne pas utiliser objet un un nom de classe:
Vous devez mettre en œuvre
INotifyPropertyChanged
de cette classe et de cours appel sur la Propriété setter. Sinon changess ne sont pas prises en compte dans votre interface utilisateur.Votre classe Viewmodel/dialogbox classe devrait avoir un
Property
de votreMyObject
liste.ObservableCollection<MyObject>
est le chemin à parcourir:Dans votre
xaml
vous devez définir laItemssource
à votre collection deMyObject
. (leDatacontext
à votre boite de classe!)Sans voir l'objet de la liste, je crois que vous devriez être en se liant à la grille de données de
ItemsSource
bien, pas sonDataContext
.(Ce qui suppose que l'élément [UserControl, etc.] que contient la grille de données a son DataContext liée à un objet qui contient le
list
collection. Le contrôle DataGrid est dérivé deItemsControl
qui s'appuie sur sonItemsSource
propriété pour définir la collection, il se lie ses lignes. Par conséquent, silist
n'est pas une propriété d'un objet lié à votre contrôle du DataContext, vous pourriez avoir besoin pour définir à la foisDataContext={Binding list}
etItemsSource={Binding list}
sur la grille de données...)essayer de le faire dans le derrière du code
Assurez-vous également que votre liste est efficacement peuplées et, comme mentionné par Blindmeis, ne jamais utiliser des mots qui sont déjà donné une fonction en c#.