Blog du Pôle .NET

Partager pour mieux développer...

TechDays - [MSTD10] - WPF Toolkit et bonnes pratiques

clock March 10, 2010 10:41 by author yvue

 

Bonjour,

Un peu de publicité ne fait de mal à personne ...

Voici la WebCast de la session que j'ai eu la chance d'animer avec Julien Corioland aux TechDays 2010 sur WPF Toolkit et Bonnes Pratiques

Suivra dès que possible un petit ticket sur les bienfaits de MVVM ...

Yoann Vue 

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Comparaison WPF et Silverlight

clock June 15, 2009 08:19 by author yvue

Un simple relais d'informations 

Sur le site codeplex, on retrouve un white paper tres sympa.

http://wpfslguidance.codeplex.com/

C'est une comparaison des technologies WPF et Silverlight

bonne lecture

Yoann Vue 

 

 

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Authentification Reporting Services 2008

clock May 20, 2009 09:55 by author yvue

Bonjour à tous,

Juste une petite configuration Reporting Services 2008.

Petit rappel pour ceux qui ne sont pas au courant, Reporting Services dans sa version SQL Server 2008 ne nécessite plus l'installation d'un serveur IIS.
Vous allez dire "C'est très pratique" ... Oui mais quand on a pris l'habitude de corriger notamment nos problèmes de sécurité avec IIS, il faut desormais trouver comment fonctionne RS 2008.

Première chose toute bete : l'emplacement des logs est "C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\LogFiles" si vous installez RS par défaut.

Ensuite, si, comme moi, vous êtes confrontés à un problème d'authentification (dans mon cas, la plateforme mettait en place une authentification Kerberos par défaut ???)
Dans ce cas c'est le fichier :C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\rsreportserver.xml qui va vous interessez !!

un petit tour dans sa structure XML pour y configurer (ou plutot desactiver) le type d'authentification Windows Negotiate ...

<Authentication>
<AuthenticationTypes>
<!--<RSWindowsNegotiate/>-->
<RSWindowsNTLM/>
</AuthenticationTypes>
<EnableAuthPersistence>true</EnableAuthPersistence>
</Authentication> 

 

Yoann Vue 
 

 

Currently rated 4.0 by 1 people

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


VS2010 et Framework .Net 4.0

clock May 19, 2009 10:39 by author yvue

Un bon pointeur vers les nombreuses améliorations de Visual Studio 2010 et du Framework .Net 4.0 en version Beta

http://blogs.msdn.com/jasonz/archive/2009/05/18/announcing-vs2010-net-framework-4-0-beta-1.aspx

 

Yoann 

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Outil de modélisation

clock May 19, 2009 06:05 by author yvue

Bonjour à tous,

Je suppose que vous êtes nombreux à chercher un outil de modélisation pratique (et eventuellement gratuit ;) )

Avec Alexandre, nous sommes tombés sur "OPEN MODELSPHERE" (http://www.modelsphere.com/modelsphere.html)

Ce petit soft sous licence GNU permet tres facilement de réaliser un MCD ou les schémas UML généralement utilisés (Use Case, Class Diagram, Sequence Diagram)

Vous remarquerez très rapidement sa facilité d'utilisation et surtout (vis à vis d'un AnalyseSI par exemple), on arrive à faire ce que l'on veut !!!!

A vos souris

 

Yoann Vue

 

 

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Web Service HTTP-407 Proxy Access

clock December 1, 2008 05:19 by author yvue

Bonjour,

Un petit morceau de code juste au cas ou ... Pour ceux qui se trouve derrière un proxy et qui souhaite simplement consommer un service Web.
Pensez à specifier l'adresse du proxy !!!

monProxyWS.Proxy = new System.Net.WebProxy("http://Adresse de Mon Proxy");
monProxyWS.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;

C'est simple mais ca evite de s'enerver tout seul devant cette fichue erreur 407

Yoann

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Performances WCF

clock September 12, 2008 06:01 by author yvue

Un post interessant sur certaines configurations à mettre en place pour améliorer les perfs WCF

 http://www.iserviceoriented.com/blog/post/Configuring+Performance+Options+-+WCF+Gotcha+3.aspx

Yoann Vue 

 

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Silverlight Spy

clock September 8, 2008 11:33 by author yvue

Un petit soft bien pratique pour le debuggage de silverlight ...

 http://firstfloorsoftware.com/silverlightspy/

Principe : Faire de l'introspection dans la structure de votre application Silverlight

 Yoann

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Les PageMethods du Framework MS AJAX

clock August 1, 2008 05:22 by author yvue

Aujourd'hui je prends ma casquette "développeur Web capable de faire un peu de Javascript" ... pour vous faire découvrir les "PageMethods"

A quoi ça sert : tout simplement à exécuter du code serveur, côté client . Un simple appel javascript va permettre d'exécuter du code serveur (Enregistrement en base de données ou autres ...). Ceci permet simplement de réaliser des opérations côté serveur sans postback ... exactement le principe d'AJAX.

Pour cela 1ère étape : Activer les PageMethods sur le ScriptManager de votre page :

<
asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
</asp:ScriptManager>

Seconde étape : Marquer le code serveur que vous souhaitez exécuter.
La méthode doit :

  • être implémentée directement dans la page (pas dans un user control par exemple)
  • être statique
  • être marquée avec les attributs qui vont bien ...

[System.Web.Script.Services.ScriptMethod]
[System.Web.Services.
WebMethod]
public static void MakeSomeJob(string arg1, string arg2){
       .......
}

Troisième étape (La plus dure pour la plupart d'entre nous) : Le javascript 

Comme pour le code serveur, je vous incite à mettre le javascript dans la page et non dans un user control composant la page
La raison : Visual Studio 2008 permet désormais de débugger du code Javascript ... mais seulement lorsqu'il est dans une page ASPX

L'appel se fait à l'aide du mot clé "PageMethods", par exemple :

<script type="text/javascript">

function MakeCodeClient(arg1,arg2) {
    PageMethods.MakeSomeJob(arg1, arg2, MakeSomeJobSuccessCallback, MakeSomeJobFailedCallback);
}

function MakeSomeJobSuccessCallback(res, destCtrl) {
    alert('Cool ça a marché');
}

function MakeSomeJobFailedCallback(res, destCtrl) {
    alert('Zut ... ça n a pas marché');
}
</script>

Remarquez la présence des deux méthodes de callback permettant de gérer le succès ou l'échec de l'appel.
Rien ne vous empêche de réagir sur le succès de la méthode en récupérant un éventuel retour de la méthode et de mettre à jour une zone de votre page "à la façon Ajax"...


Amusez vous bien ... Le web n'est pas forcément votre ennemi ...

Yoann Vue

Currently rated 3.0 by 2 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Un contrôle Wonderful de WPF : la listbox

clock May 20, 2008 08:48 by author yvue

Longtemps dénigré pour son look & feel très basique et austère, la listbox n'était utilisée qu'en dernier recours.
Maintenant, WPF (Windows Presentation Foundation) est passé par là et c'est la renaissance de ce contrôle.

La nouveauté principale des contrôles de WPF est la suivante : Un contrôle WPF fournit essentiellement un comportement.

C'est à dire : un bouton fournit une interface graphique permettant de "cliquer".
Dans notre cas, la listbox fournit une interface affichant un ensemble de données, parmi lesquelles, l'utilisateur peut réaliser une séléction

Par défaut, en glissant une listbox sur votre fenetre, vous retrouverez l'interface graphique classique :


Mais la force de WPF est de nous permettre de transformer complétement l'apparence de notre contrôle.
Ceci est permis par l'utilisation des styles et des templates de la listbox.

Par exemple, on peut transformer notre listbox en gridview :

Et oui, c'est bien une listbox !!! Comment le faire ... Tout simplement en spécifiant le comportement de ma listbox.


Spécification de la mise en forme des éléménts sous la forme d'un stackpanel 

<ItemsPanelTemplate x:Key="ItemsPanelTemplate1">
    
<StackPanel IsItemsHost="True" Margin="0,0,0,10"/>
</ItemsPanelTemplate>

Spécification de la représentation d'un élément dans la liste (Une grille contenant les textboxs, checkbox et combobox nécessaires à l'affichage des informations de mon objet)

<DataTemplate x:Key="DataTemplate1">
  
<Grid Width="{Binding ElementName=lstContacts, Path=ActualWidth}">
    
<Grid.ColumnDefinitions>
        
<ColumnDefinition SharedSizeGroup="Column_SSG_0"/>
        
<ColumnDefinition SharedSizeGroup="Column_SSG_1"/>
        
<ColumnDefinition SharedSizeGroup="Column_SSG_2"/>
        
<ColumnDefinition SharedSizeGroup="Column_SSG_3"/>
        
<ColumnDefinition SharedSizeGroup="Column_SSG_4"/>
        
<ColumnDefinition SharedSizeGroup="Column_SSG_5"/>
        
<ColumnDefinition SharedSizeGroup="Column_SSG_6"/>
        
<ColumnDefinition SharedSizeGroup="Column_SSG_7"/>
        
<ColumnDefinition SharedSizeGroup="Column_SSG_8"/>
    
</Grid.ColumnDefinitions>

    
<Border BorderBrush="Black" BorderThickness="1,1,0,0" Grid.Column="0">
         
<Label Content="&gt;" Margin="1" HorizontalAlignment="Stretch" HorizontalContentAlignment="Center" />
    
</Border>

     <Border BorderBrush="Black" BorderThickness="1,1,0,0" Grid.Column="1">
         
<TextBox Text="{Binding Path=Nom}" HorizontalAlignment="Stretch"/>
    
</Border>

     <Border BorderBrush="Black" BorderThickness="1,1,0,0" Grid.Column="2">
         
<TextBox Text="{Binding Path=Prenom}" HorizontalAlignment="Stretch"/>
    
</Border>

     <Border BorderBrush="Black" BorderThickness="1,1,0,0" Grid.Column="3">
         
<TextBox Text="{Binding Path=Age}" HorizontalAlignment="Stretch"/>
    
</Border>

     <Border BorderBrush="Black" BorderThickness="1,1,0,0" Grid.Column="4">
         
<CheckBox IsThreeState="False" VerticalAlignment="Center" IsChecked="{Binding Path=Sexe}" HorizontalAlignment="Center"/>
    
</Border>

     <Border BorderBrush="Black" BorderThickness="1,1,0,0" Grid.Column="5">
          <TextBox Text="{Binding Path=Couleur}" HorizontalAlignment="Stretch"/>
    
</Border>

     <Border BorderBrush="Black" BorderThickness="1,1,0,0" Grid.Column="6">
         
<ComboBox ItemsSource="{Binding Source={StaticResource OdpCommunes}}" 
                          
SelectedValue="{Binding Path=Ville.Id}" 
                         
SelectedValuePath="Id" 
                         
DisplayMemberPath="Nom" 
                         
HorizontalAlignment="Stretch"/>
    
</Border>

     <Border BorderBrush="Black" BorderThickness="1,1,0,0" Grid.Column="7">
         
<Image Source="../Images/Valider.png" Stretch="None"/>
     </Border>

     <Border BorderBrush="Black" BorderThickness="1,1,1,0" Grid.Column="8">
         
<Image Source="../Images/action-delete.gif" Stretch="None"/>
    
</Border>

     </Grid>
</DataTemplate>

Pour attacher tout cela a ma listbox, il me suffira alors d'ajouter les attributs nécessaires :

<ListBox x:Name="lstContacts"
           
ItemsSource="{Binding Source={StaticResource OdpContacts}}" 
           
ItemsPanel="{DynamicResource ItemsPanelTemplate1}" 
           
ItemTemplate="{DynamicResource DataTemplate1}"/>

et le tour est joué ...



D'autres exemples de customisation d'une listbox :


Une liste de polices de caractères disponibles sur notre poste client


 Ou encore un graphique en histogramme avec toujours le comportement d'une listbox

 

 

Un blog tres interessant sur le même sujet : The powerful of styles and templates in WPF

Yoann Vue
Consultant Technique Pôle.Net

Currently rated 3.8 by 4 people

  • Currently 3.75/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Calendrier

<<  July 2010  >>
MoTuWeThFrSaSu
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678
Afficher en pleine page

Visiteurs