bonjour
je voudrais tester un peu les wpf forms mais j'ai un peu de mal
est-ce que quelqu'un sait comment rajouter un controle dynamiquement
enfin je cherche à comprendre la nouvelle logique, car plus de controls.Add ...
merci
bonjour
je voudrais tester un peu les wpf forms mais j'ai un peu de mal
est-ce que quelqu'un sait comment rajouter un controle dynamiquement
enfin je cherche à comprendre la nouvelle logique, car plus de controls.Add ...
merci
IAddChild.AddChild peut-être ?
Les contrôles qui peuvent avoir des "enfants" implémentent cette interface
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
Code : Sélectionner tout - Visualiser dans une fenêtre à part monObjet.Children.Add(monSecondObjet);
peut etre... mais je ne vois rien apparaitre sur la fenetre ...
et sinon pour parcourir les controles (à l'époque, for each ctr in me.controls), une idée ?
@oyigit, l'objet window ainsi que l'objet grid qu'il y a dessus n'ont pas de propriété children ...
bon j'ai posé un canvas, avec lui j'arrive à ajouter des controles
étrange qu'on ne puisse pas sur une fenetre ...
autre question, comment mettre une image dans un label ? j'ai mis une image dans la propriété content et ca ecrit le nom de la classe plutot que de prendre l'image
autre question, comment poser un label par code et définir son emplacement avec un emplacement statique
(j'ai bien trouvé width et height mais plus de left et top ! (et le margin il m'embete))
autre question, peut on faire autrement que d'avoir ce systeme d'ancrage automatique ??
enfin, y a un tutorial quelque part ?![]()
je crois que tu peux pas poser un contrôle directement sur une fenêtre... il faut qu'il y ait un controle Panel (Canvas, Grid, StackPanel...) sur la fenêtre, et tu mets les controles dedans.
La question que je me posais, c'est comment changer par le code les propriétés attachées (Grid.Row, Grid.Column par exemple). J'ai trouvé ça.
Il suffit de faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 laGrille.Children.Add(leControle); Grid.SetColumn(leControle, indexDeLaColonne); Grid.SetRow(leControle, indexDeLaLigne);hein ? chez moi la classe Grid a bien la propriété Children... ce qui m'échappe par contre, c'est que d'après la doc elle implémente l'interface IAddChild, et pourtant elle n'a pas de méthode AddChild !?l'objet window ainsi que l'objet grid qu'il y a dessus n'ont pas de propriété children
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
PS : tu utilises quelle version du Framework ?
Moi j'ai la 3.5 (VS2008 beta 2), peut-être que ça a changé au cours des différentes beta...
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
Sinon, pour tes autres questions :
Chez moi ça marche bien...autre question, comment mettre une image dans un label ? j'ai mis une image dans la propriété content et ca ecrit le nom de la classe plutot que de prendre l'image
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <Label Name="label1" VerticalAlignment="Stretch"> <Image Source="cat.png" /> </Label>Sur un Canvas, même principe qu'avec la grille :autre question, comment poser un label par code et définir son emplacement avec un emplacement statique
(j'ai bien trouvé width et height mais plus de left et top ! (et le margin il m'embete))
Canvas.SetTop
Canvas.SetLeft
Ca dépend du container que tu utilises. Si c'est un Canvas tu mets les contrôles où tu veuxautre question, peut on faire autrement que d'avoir ce systeme d'ancrage automatique ??
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
oui mais moi je veux le faire par code pendant l'execution, pas en xaml
Chez moi ça marche bien...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <Label Name="label1" VerticalAlignment="Stretch"> <Image Source="cat.png" /> </Label>
mais ca vient ptete du fait que je lui donne un system.Drawing.image est qu'il veux un image du framework 3.5
settop est à priori shared, je ne vois pas comment l'utiliser dans mon cas, ou alors c'est torduSur un Canvas, même principe qu'avec la grille :
Canvas.SetTop
Canvas.SetLeft
autre question, comment mettre une image de fond sur une fenetre ? sur un canvas ? ... c'est deseperant leur nouveau truc !
Je ne sais pas si c'est dû au fait que tu utilises System.Drawing.Image...
Mais par code, tu dois avoir une propriété Children logiquement (ca fait un bout de temps que j'ai pas touché au framework 3/3.5)...
Tout contrôle peut être conteneur en WPF donc tous les contrôles ont a mon avis cette propriété children... (je parle de tête sur le peux d'essai que j'ai fait lol)
Sinon une petite chose, évites de poser 30 questions en même temps car moi perso ça me donne l'impression que tu postes sur le forum et que tu cherches très peu par toi même.
je fais qu'ca de chercher mais l'aide est pas finie ... et puis c'est une nouvelle logique sur un produit non vendu, alors pour trouver des infos c'est pas évident ...
enfin j'ai finalement réussi à faire ce que je voulais faire, tester les perf de WPF
suf le framework 2 en posant 200 label avec une image qui clignote sur un pc dual core avec une carte 3d je suis à 20% de ressources processeur
sur le framework 3.5 en wpf je varie entre 30 et 60%
(et moins de 5% sous vb6 y a quelques années ...)
moi qui croyait que ca allait etre mieux ...
c'est malheureusement obligé que ça se passe ainsi... Microsoft (et y a pas que lui) pense avant tout aux utilisateurs finaux qui veulent quelque chose de "joli"...
On le dit pas assez souvent mais je pense que la "beautification" (ca se dit? lol) à les mêmes inconvénients que la "sécurité"... c'est à dire : perte de temps et perte de performances...
--
Sinon pour tous ce qui est info sur WPF, il y a de très bons blogs anglais (j'ai pas les adresses ici, suis au boulot)![]()
En effet il faut une image ImageSource (ou une classe dérivée). Fais comme ça :oui mais moi je veux le faire par code pendant l'execution, pas en xaml
mais ca vient ptete du fait que je lui donne un system.Drawing.image est qu'il veux un image du framework 3.5
Attention, il faut que l'image soit dans ton projet, compilée en tant que ressource (pas dans un .resx...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 BitmapImage img = New BitmapImage(New Uri("pack://application:,,,/cat.png"))
Oui c'est statique (ou shared si tu preferes), mais tu précises l'objet en paramètre :settop est à priori shared, je ne vois pas comment l'utiliser dans mon cas
Code : Sélectionner tout - Visualiser dans une fenêtre à part Canvas.SetTop(leControle, laValeurDeTop)Pas encore cherché...image de fond sur une fenetre
lol, c'est l'impression que j'ai eu au début... mais maintenant que je commence à prendre le pli, je trouve ça plutôt pas mal, surtout tout ce qu'on peut faire avec les bindingsc'est deseperant leur nouveau truc !
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
je suis d'accord sur la théorie
mais y a le fait que fx2 et gdi+ n'est pas hardware accelerated alors que wpf tire partie de direct3D
donc je m'attendais à un mieux
et une fenetre avec des boutons reste quand meme moins belle qu'un jeu 3d récent donc ca pourrait quand meme etre mieux en terme de perf
par contre c'est vrai que étant sur vb.net depuis peu, c'est un vrai plaisir à coder avec cette structure objet...
PS : pour la beautification j'suis pas sur, peut etre plus embellissement à priori![]()
Partager