J'ai un (devrait être) un projet simple où j'ai besoin de créer une liste de trois bases de données qui sont la même structure stockée sur différents serveurs, chaque base de données représente une entreprise différente site au sein d'un groupe de sociétésLiaison d'une liste déroulante dans wpf C# à une liste <t> ne pas afficher
Je construis une couche d'accès aux données qui peut être configurée à l'exécution par l'utilisateur. Cela sera réalisé par une liste d'objets appelés bases de données et l'utilisateur sélectionnant le nom de l'entreprise de la base de données qu'ils souhaitent mettre à jour. Le premier problème est que je dois lier un combobox à ma liste de bases de données, ce que j'ai fait ci-dessous. Il ne se trompe pas quand je compile mais il ne l'affiche pas non plus.
Il me manque quelque chose d'évident ici s'il vous plaît aider
Un grand merci
Le Xmal
<Window.Resources>
<CollectionViewSource x:Key="companyViewSource"/>
</Window.Resources>
<Grid>
<Grid Height="38" HorizontalAlignment="Left" Margin="11,79,0,0" Name="grid2" VerticalAlignment="Top" Width="262">
<ComboBox Height="23" HorizontalAlignment="Left" Margin="136,9,0,0" Name="cBComapny" VerticalAlignment="Top" Width="120"
ItemsSource="{Binding Source={StaticResource companyViewSource}}"
DisplayMemberPath="CompanyName"
SelectedValuePath="CompanyName"
SelectedValue="{Binding CompanyLetter}" />
</Grid>
</Grid>
Le code de classe pour la base de données
public class Databases
{
public string Database { get; set; }
public string CompanyName { get; set; }
public string ServerName { get; set; }
public string CompanyLetter { get; set; }
public Databases()
{
}
public static List<Databases> GetFoundryDatabases()
{
List<Databases> Foundries = new List<Databases>();
Foundries.Add (new Databases(){Database="CompanyA", CompanyName="Company1", ServerName="Server1", CompanyLetter="A"});
Foundries.Add(new Databases() { Database = "CompanyL", CompanyName = "Company2", ServerName = "Server1", CompanyLetter = "L" });
Foundries.Add(new Databases() { Database = "CompanyR", CompanyName = "Company3", ServerName = "Server2", CompanyLetter = "R"});
return Foundries;
}
}
Et le code pour le chargement de la fenêtre
System.Windows.Data.CollectionViewSource companyViewSource = new CollectionViewSource();
companyViewSource.Source=SysproDAL.Databases.GetFoundryDatabases();
companyViewSource.View.MoveCurrentToFirst();
Merci, mais quand je le fais j'obtiens l'erreur suivante ** Type 'local: Bases de données' n'a pas été trouvé. à MS.Internal.Platform.MemberDocumentValueSerializer'1.ConvertToDocumentValue (type ITypeMetadata, valeur String, IServiceProvider DocumentServices) à MS.Internal.Design.DocumentModel.DocumentTrees.Markup.XamlMarkupExtensionPropertyBase.get_Value() à MS.Internal.Design. DocumentModel.DocumentTrees.DocumentPropertyWrapper.get_Value() ** –
Vous devez définir 'local' dans votre espace de noms. Dans mon cas, il s'agit de' xmlns: local = "clr-namespace: WpfApplication2" ', dans le vôtre, remplacez' WpfApplication2' par votre namespace – Pikoh
J'ai maintenant 'xmlns: local = "espace de noms clr: Rma_Administration_v2" Titre = "MainWindow" Hauteur = "350" Largeur = "525" Loaded = "Window_Loaded"> 'Cependant, ma méthode est un projet qui a été ajouté dans l'appel SysproDAL –