Useful Tip: Solution for known issue with Merged Dictionaries in App.xaml (VS 2010 RTM)

יום שישי, אפריל 23, 2010

At last days many .Net developers upgraded their Visual Studio to RTM 2010. There are some “Known Issues” in this release.After painful upgrade we discovered problem in our WPF project: Some Dynamic Resources from Merged Dictionaries that referenced in App.xaml stopped working (although this code worked without any problems in Beta-2).We found some workaround: Add some style without specific key for unused element in Resource Dictionary and this will trigger WPF to load resources from Merged Dictionaries. Example: <Application x:Class="SomeNamespace.App"              xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">       <Application.Resources>             <ResourceDictionary>                   <ResourceDictionary.MergedDictionaries>                         <ResourceDictionary Source="/SomeNamespace;Component/Styles.xaml"/>                         <ResourceDictionary Source="/SomeNamespace;Component/Brushes.xaml"/>                   </ResourceDictionary.MergedDictionaries>                                 <Style TargetType="{x:Type Line}"/>...

Single Instance Application Manager

יום שבת, פברואר 13, 2010

Some .Net applications are required to run as single instance process (at startup, each process “ensures” that he’s unique). This requirement may come from licensing issues, technical and/or other reasons. Quick search in Google will provide a variety of solutions, most of them are based on WindowsFormsApplicationBase object from VB.Net, usage of Mutex object and other techniques. I don’t like mixing VB with C#, and also Win-Forms solution isn’t “pure” enough for WPF applications. So I wrote my version of “Single Instance Manager”… This post will provide short description about this small project and links to download the...

Daily Tip: How to Activate Minimized Window (Form)

יום חמישי, דצמבר 24, 2009

This solution can be used in WPF and in WinForms (with some improvements). Many times UI programmer needs to activate window, the activation can be done by using “Activate()” function in window. The problem is that this function will not show window if it is minimized. In that case you can use this workaround: using System; using System.Windows;  namespace Test {        public partial class MyWindow...

“Class2Table” Exporter

יום רביעי, ספטמבר 30, 2009

“Class to Table” = “Entity to SQL” Recently, I deal with UML design in EA, also I design DB Entities for DBML (Linq2Sql). In regular way, programmer creates DB table and imports it into VS solution as entity class for DBML. But, sometimes we need to create DB table from existing class. I’m pretty sure that there are some free tools that can do this job, but as many code freaks I prefer to develop my own tools (mostly without looking for existing solutions). I want to share my community contribution at http://class2table.codeplex.com/ with small application that allows generation/creation of DB tables...

Daily Tip: How to import 3D model to WPF in couple clicks

יום ראשון, מאי 24, 2009

Import 3D Model to WPF from any 3D Editor Many 3D editors can export 3D scenes as OBJ files, these files can be easily imported into WPF project and being used to build complex 3D scenes.See how easy to import 3D scene from 3D editors (for example Blender or 3ds Max): Blender:  3ds Max:  After the export we get two files “scene_objects.obj” (contains definition of scene objects) and “scene_objects.mtl” (contains definition of objects’ materials). Now we can add these files to WPF project: Blend:Open/cerate WPF project and add OBJ and MTL files into objects’ tree.  Open target window, drag and drop added OBJ file...

Daily Tip: How to import 3D model to WPF from Blender

יום שלישי, מאי 5, 2009

In resumption to my previous post “How to import 3D model to WPF from 3D Max” I want to present the “XAML exporter for Blender” (Blender is an open-source cross-platform 3D designer). if(Blender.Name == Blend.Name) {      Debug.WriteLine(“Wiiiiii !!!! :)”); } This post will guide you how to use this feature thru simple example. Software requirements for this guide: Blender 2.48a or later, Microsoft Expression Blend 2.0 (Final Release). ...

Keys Notificator

יום ראשון, אפריל 26, 2009

I’m inviting you to take a part in testing of “Keys Notificator”. This is small and useful program for keyboard monitoring that can be used to monitor common keys as , , , , and . Very useful to alert users about change in keyboard layout like language ( + ENG <=> HEB) or capital letters. The “Keys Notificator” is an open-source project and is a part of my community contribution under GNU General Public License. The published/released version is “Beta” version that will be improved...

Mouse-Wheel-Helper for Silverlight (upgraded)

יום שישי, אפריל 3, 2009

Recently I’ve required to add Mouse-Wheel support in some of our Silverlight projects. Quickly discovered that unfortunately this feature isn’t supported in built-in events of Silverlight (at least in versions 1.0 and 2.0). After short search I found this post with sample code that solves this problem by attaching handlers to mouse events on html page. I made some changes in “MouseWheelHelper” class and added “UIElementExtender” class that extends classes that derived from “UIElement” class in order to provide Mouse-Wheel support. Here small example that uses “MouseWheelHelper” and “UIElementExtender”:(use mouse wheel to zoom-in/out, also you can change image by pasting new...

Daily Tip: How to import 3D model to WPF from 3D Max

יום שלישי, מרץ 31, 2009

I want to present very useful feature “XAML exporter for 3D Studio Max”. This feature contains number of MAX-Script files with code that allows exporting 3D scenes from 3D Studio Max to XAML files. “Max2Xaml” Project on Codeplex website: http://max2xaml.codeplex.com. I’ll try to present a simple guide for this feature with some useful example. Software requirements for this guide: 3D Studio Max 2007 or later (I use 3D Studio Max 2009), Microsoft Expression Blend 2.0 (Final Release). SDK and Framework requirements: Microsoft .Net...

Quick Tip: How to work with Excel files in VB.Net (Update)

יום שני, פברואר 23, 2009

This is an update for previous post. Added new function to read entire content of Excel File:       ''' <summary>      ''' Reads the data from excel file.      ''' </summary>      ''' <param name="strFilePath">The file path.</param>      ''' <returns>DataSet</returns>      Public Shared Function ReadDataFromExcelFile(ByVal strFilePath As String) As DataSet            If strFilePath Is Nothing Then Throw New NullReferenceException("strFilePath")            If Not File.Exists(strFilePath) Then Throw New FileNotFoundException(strFilePath)              ' copy source excel file to temp. folder (because the original file can be locked by other process)            Dim tmpFolder As String = Environment.GetFolderPath(Environment.SpecialFolder.InternetCache)            If Not Directory.Exists(tmpFolder) Then tmpFolder = Environment.CurrentDirectory              Dim tmpPath As String = _           ...