Question [Résolu] XAML et WPF
- POLICE Stéphane
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 13
- Remerciements reçus 0
il y a 14 ans 9 mois #9756
par POLICE Stéphane
Que la PowerForce soit avec vous.
[Résolu] XAML et WPF a été créé par POLICE Stéphane
Bonjour à toutes et tous
Voilà mes soucis :
J'ai un formulaire avec une image à afficher et des onglets.
I - Pb de changement de couleur
Je voudrais quand je change d'onglet changer aussi la couleur de la tête de l'onglet. sous VB2010 aucun pb, mais sous PowerShell, la couleur n'évolue pas.
II - Pb de chargement de l'image dans sa zone
J'ai essayé plusieurs méthodes sans succès.
Méthode 1:
$Logo_Path = \"$ScriptPath\Logo.jpg\"
$Logo.Source = [System.Drawing.Image]::FromFile($Logo_Path)
ERREUR
Exception lors de la définition de « Source » : « Impossible de convertir la valeur « System.Drawing.Bitmap » du type « System.Drawing.Bitmap » en type « System.Windows.Media.ImageSource ». »
Au niveau de C:\Scripts\Admin-Users-C\Test WPF-XAML.ps1 : 168 Caractère : 7
+ $Logo. <<<< Source = [System.Drawing.Image]::FromFile($Logo_Path)
+ CategoryInfo : InvalidOperation: ( : ) [ ], RuntimeException
+ FullyQualifiedErrorId : PropertyAssignmentException
Méthode 2 :
$Logo_URI = New-Object URI $Logo_Path
$Logo.Source = New-Object BitmapImage $Logo_URI
ERREUR
New-Object : Le type [BitmapImage] est introuvable : vérifiez que l'assembly dans lequel il se trouve est chargé.
Au niveau de ligne : 180 Caractère : 26
+ $Logo.Source = New-Object <<<< BitmapImage $Logo_URI
+ CategoryInfo : InvalidType: ( : ) [New-Object], PSArgumentException
+ FullyQualifiedErrorId : TypeNotFound,Microsoft.PowerShell.Commands.NewObjectCommand
Méthode 3 :
$Logo_URI = New-Object URI $Logo_Path
$Logo.Source = New-Object System.Windows.Media.Imaging.BitmapSource $Logo_URI
ERREUR
New-Object : Constructeur introuvable. Impossible de trouver un constructeur approprié pour le type System.Windows.Media.Imaging.BitmapSource.
Au niveau de C:\Scripts\Admin-Users-C\Test WPF-XAML.ps1 : 190 Caractère : 26
+ $Logo.Source = New-Object <<<< System.Windows.Media.Imaging.BitmapSource $Logo_URI
+ CategoryInfo : ObjectNotFound: ( : ) [New-Object], PSArgumentException
+ FullyQualifiedErrorId : CannotFindAppropriateCtor,Microsoft.PowerShell.Commands.NewObjectCommand
Pourtant quand je regarde les types exportés par l'assembly 'PresentationCore', le type 'BitmapImage' existe et est basé sur le type 'System.Windows.Media.Imaging.BitmapSource' comme vous pouvez le constater ci-dessous.
$Assembly=[System.Reflection.Assembly]::LoadWithPartialName('PresentationCore')
$Assembly.GetExportedTypes() | Where{$_.Name -like '*Image*'}
IsPublic IsSerial Name BaseType
----
True False ImageSource System.Windows.Media.Animation.Animatable
True False D3DImage System.Windows.Media.ImageSource
True False DrawingImage System.Windows.Media.ImageSource
True False ImageBrush System.Windows.Media.TileBrush
True False ImageDrawing System.Windows.Media.Drawing
True False ImageMetadata System.Windows.Freezable
True False ImageSourceConverter System.ComponentModel.TypeConverter
True False ImageSourceValueSerializer System.Windows.Markup.ValueSerializer
True False BitmapImage System.Windows.Media.Imaging.BitmapSource
Si quelqu'un a une idée?
Les fichiers sont dans le zip joint.
Merci de votre aide.
Message édité par: L.Skywalker, à: 8/06/11 11:57<br><br>Message édité par: L.Skywalker, à: 14/06/11 11:01
Voilà mes soucis :
J'ai un formulaire avec une image à afficher et des onglets.
I - Pb de changement de couleur
Je voudrais quand je change d'onglet changer aussi la couleur de la tête de l'onglet. sous VB2010 aucun pb, mais sous PowerShell, la couleur n'évolue pas.
II - Pb de chargement de l'image dans sa zone
J'ai essayé plusieurs méthodes sans succès.
Méthode 1:
$Logo_Path = \"$ScriptPath\Logo.jpg\"
$Logo.Source = [System.Drawing.Image]::FromFile($Logo_Path)
ERREUR
Exception lors de la définition de « Source » : « Impossible de convertir la valeur « System.Drawing.Bitmap » du type « System.Drawing.Bitmap » en type « System.Windows.Media.ImageSource ». »
Au niveau de C:\Scripts\Admin-Users-C\Test WPF-XAML.ps1 : 168 Caractère : 7
+ $Logo. <<<< Source = [System.Drawing.Image]::FromFile($Logo_Path)
+ CategoryInfo : InvalidOperation: ( : ) [ ], RuntimeException
+ FullyQualifiedErrorId : PropertyAssignmentException
Méthode 2 :
$Logo_URI = New-Object URI $Logo_Path
$Logo.Source = New-Object BitmapImage $Logo_URI
ERREUR
New-Object : Le type [BitmapImage] est introuvable : vérifiez que l'assembly dans lequel il se trouve est chargé.
Au niveau de ligne : 180 Caractère : 26
+ $Logo.Source = New-Object <<<< BitmapImage $Logo_URI
+ CategoryInfo : InvalidType: ( : ) [New-Object], PSArgumentException
+ FullyQualifiedErrorId : TypeNotFound,Microsoft.PowerShell.Commands.NewObjectCommand
Méthode 3 :
$Logo_URI = New-Object URI $Logo_Path
$Logo.Source = New-Object System.Windows.Media.Imaging.BitmapSource $Logo_URI
ERREUR
New-Object : Constructeur introuvable. Impossible de trouver un constructeur approprié pour le type System.Windows.Media.Imaging.BitmapSource.
Au niveau de C:\Scripts\Admin-Users-C\Test WPF-XAML.ps1 : 190 Caractère : 26
+ $Logo.Source = New-Object <<<< System.Windows.Media.Imaging.BitmapSource $Logo_URI
+ CategoryInfo : ObjectNotFound: ( : ) [New-Object], PSArgumentException
+ FullyQualifiedErrorId : CannotFindAppropriateCtor,Microsoft.PowerShell.Commands.NewObjectCommand
Pourtant quand je regarde les types exportés par l'assembly 'PresentationCore', le type 'BitmapImage' existe et est basé sur le type 'System.Windows.Media.Imaging.BitmapSource' comme vous pouvez le constater ci-dessous.
$Assembly=[System.Reflection.Assembly]::LoadWithPartialName('PresentationCore')
$Assembly.GetExportedTypes() | Where{$_.Name -like '*Image*'}
IsPublic IsSerial Name BaseType
----
True False ImageSource System.Windows.Media.Animation.Animatable
True False D3DImage System.Windows.Media.ImageSource
True False DrawingImage System.Windows.Media.ImageSource
True False ImageBrush System.Windows.Media.TileBrush
True False ImageDrawing System.Windows.Media.Drawing
True False ImageMetadata System.Windows.Freezable
True False ImageSourceConverter System.ComponentModel.TypeConverter
True False ImageSourceValueSerializer System.Windows.Markup.ValueSerializer
True False BitmapImage System.Windows.Media.Imaging.BitmapSource
Si quelqu'un a une idée?
Les fichiers sont dans le zip joint.
Merci de votre aide.
La pièce jointe Test_WPF_XAML.zip est absente ou indisponible
Message édité par: L.Skywalker, à: 8/06/11 11:57<br><br>Message édité par: L.Skywalker, à: 14/06/11 11:01
Que la PowerForce soit avec vous.
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- POLICE Stéphane
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 13
- Remerciements reçus 0
il y a 14 ans 9 mois #9768
par POLICE Stéphane
Que la PowerForce soit avec vous.
Réponse de POLICE Stéphane sur le sujet Re:XAML et WPF
Bonjour,
J'ai résolu un des deux problèmes, le plus simple je pense !!!
Le pb de la couleur de l'entête des onglets.
Mon erreur résidait sur la gestion de l'opacité, il faut rendre la couleur opaque si l'on veut la voir ! donc il faut mettre FF au lieu 00.
Code d'origine :
Function ConvertFrom-RGB
{
param ([Int32]$Red, [Int32]$Green, [Int32]$Blue)
$HR = [Convert]::ToString($Red,16)
$HG = [Convert]::ToString($Green,16)
$HB = [Convert]::ToString($Blue,16)
$HexaColor = \"#00$HR$HG$HB\"
Return $HexaColor
}
Code modifié :
Function ConvertFrom-RGB
{
param ([Int32]$Red, [Int32]$Green, [Int32]$Blue)
$HR = [Convert]::ToString($Red,16)
$HG = [Convert]::ToString($Green,16)
$HB = [Convert]::ToString($Blue,16)
$HexaColor = \"#FF$HR$HG$HB\"
Return $HexaColor
}
Je ne désespère pas de trouver une solution (que je posterai aussi) pour l'autre problème.
A+
J'ai résolu un des deux problèmes, le plus simple je pense !!!
Le pb de la couleur de l'entête des onglets.
Mon erreur résidait sur la gestion de l'opacité, il faut rendre la couleur opaque si l'on veut la voir ! donc il faut mettre FF au lieu 00.
Code d'origine :
Function ConvertFrom-RGB
{
param ([Int32]$Red, [Int32]$Green, [Int32]$Blue)
$HR = [Convert]::ToString($Red,16)
$HG = [Convert]::ToString($Green,16)
$HB = [Convert]::ToString($Blue,16)
$HexaColor = \"#00$HR$HG$HB\"
Return $HexaColor
}
Code modifié :
Function ConvertFrom-RGB
{
param ([Int32]$Red, [Int32]$Green, [Int32]$Blue)
$HR = [Convert]::ToString($Red,16)
$HG = [Convert]::ToString($Green,16)
$HB = [Convert]::ToString($Blue,16)
$HexaColor = \"#FF$HR$HG$HB\"
Return $HexaColor
}
Je ne désespère pas de trouver une solution (que je posterai aussi) pour l'autre problème.
A+
Que la PowerForce soit avec vous.
Connexion ou Créer un compte pour participer à la conversation.
- POLICE Stéphane
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 13
- Remerciements reçus 0
il y a 14 ans 9 mois #9785
par POLICE Stéphane
Que la PowerForce soit avec vous.
Réponse de POLICE Stéphane sur le sujet Re:XAML et WPF
Voilà après quelques recherches/tests et une meilleure compréhension du fonctionnement des bibliothèques du Framework DOT.NET 4.0 et avec une bonne dose de patience
.
Une solution pour le problème de chargement de l'image :
$Logo_URI=New-Object URI $Logo_Path
$Logo.Source = New-Object System.Windows.Media.Imaging.BitmapImage $Logo_URI
Auto-résolu.
Une solution pour le problème de chargement de l'image :
$Logo_URI=New-Object URI $Logo_Path
$Logo.Source = New-Object System.Windows.Media.Imaging.BitmapImage $Logo_URI
Auto-résolu.
Que la PowerForce soit avec vous.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.044 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les initiés
- [Résolu] XAML et WPF