.NET

.NET 6 / WPF : personnaliser le chrome d'une fenêtre

Le "Chrome" d'une fenêtre c'est tout ce qui ne fait pas partie de la zone cliente, c'est à dire la barre de titre et la bordure :

Chrome

On a de plus en plus le besoin de personnaliser cette zone, notamment si on veut un interface type ruban ou si on veut un thème clair et un thème sombre.

Pour cela, WPF dispose d'un élément WindowChrome. Mais son utilisation n'est pas vraiment intuitive.

Etiquettes:

Visual Basic n'évoluera plus

Microsoft vient d'annoncer que Visual Basic sera bien supporté dans .NET 5.0, ce qui semble être une bonne chose pour les développeurs utilisant ce langage, mais en même temps ils annoncent que le langage n'évoluera plus.

Visual Basic continuera donc à fonctionner sur Windows et sur les autres plateformes via .NET Core mais il ne bénéficiera plus des futures nouvelles fonctionnalités qui nécessiteront une modification du langage.

Etiquettes:

Astuce WPF : cacher un élément dans le concepteur

Sur un de mes projets, j'ai un masque qui vient couvrir une partie d'une fenêtre le temps que les données se charge.

Client Sentry pour .NET 2.0

Logo Sentry

Je suis un grand fan du service Sentry qui sert à envoyer des rapports d'erreur.

A chaque fois qu'une erreur inattendue survient dans une de mes applications, un certain nombre d'informations sont collectées (le type et le message de l'exception, la pile d'appel, la version du système d'exploitation, le nom de l'utilisateur...) puis envoyées aux serveurs de Sentry.

Etiquettes:

Sentry client for .NET 2.0

Logo Sentry

I'm a big fan of the Sentry service which is used to send error reports.

Each time an unexpected error occurs in one of my applications, a certain amount of information is collected (exception type and message, call stack, operating system version, user name...) then sent to Sentry's servers.

Etiquettes:

Insertion rapide des attributs [NotNull] et [CanBeNull] avec ReSharper 2017.2

La dernière version de ReSharper propose un nouveau assistant de frappe qui m'est particulièrement utile dans ma lutte à mort ;-) avec les références nulles. Il suffit d'appuyer sur ! ou ? juste derrière le nom d'un type ou d'un argument pour insérer un attribut [NotNull] et [CanBeNull].

Si on appuie une deuxième fois, un test et un déclenchement d'exception comme celui ci :

Etiquettes:

eInvalidLayer when setting LayerTableRecord.IsFrozen to false

Found this problem this morning: if you set IsFrozen to false on the current layer, you'll get an Autodesk.AutoCAD.Runtime.Exception with the ErrorStatus at eInvalidLayer. The setter is certainly checking if the layer is current to avoid freezing it, but it should test the value to ignore when it is false.

So you have to check the layer state before changing the property to false:

Etiquettes:

Déconstruction et dictionnaires avec C# 7.0

Les dictionnaires sont une structure de données bien pratique dans certaines situations, mais j'ai toujours trouvé qu'ils nuisaient un peu à la lisibilité du code.

Dans l'exemple suivant, dans la boucle on ne sait pas exactement ce que représente la clé et la valeur. Bien évidemment le code ici est très court donc on le comprend assez facilement mais sur du code réel, ça n'est pas toujours évident.

Etiquettes:

Ma vie sans souris avec ReSharper et Visual Studio

Rider, l'IDE C# multiplateforme de JetBrains

Je suis un grand fan de ReSharper (R#) qui est une extension pour Visual Studio qui apporte d'énormes gains en productivité. JetBrains, l'éditeur de ReSharper, connu également pour son environnement de développement IntelliJ IDEA et ses déclinaisons (PhpStorm entre autre que j'utilise aussi), viens d'annoncer sur son blog dédié à .NET que son nouvel IDE sortait de la Bêta privée pour passer en Bêta public (EAP).

Etiquettes:

Pages

Subscribe to RSS - .NET