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...

פוסט 17: מסמך סטנדרטים לעיצוב ופיתוח של ממשק משתמש

יום שבת, נובמבר 28, 2009

זהו פוסט המשך לפוסט הקודם, אשר שייך לסדרת הפוסטים בנושא UI . בפוסט זה אפרט שלבים וטיפים שיעזרו בבניה של מסמך סטנדרטים של ממשק משתמש. GUI Standards Document בפרויקטים גדולים של מערכות תוכנה עם ממשקי משתמש רבים קיים צורך בכתיבת מסמך סטנדרטים בתחילת הפרויקט. מסמך זה משמש את כל הגורמים המעורבים בעיצוב-פיתוח GUI: מנתחי מערכות (System Analysts), מעצבי מודולים (SW Designers) ומתכנתים (האנשים שבפועל בונים GUI ומקודדים לוגיקת קליינט). מסמך סטנדרטים הנו מרכיב הכרחי בכל שלבי הפרויקט. לרוב עיצוב ראשוני (ובחלק מהמקרים סופי) של מסכי המערכת נעשה ע"י מנתחים. מכוון שהם נמצאים בחזית, ז"א מול לקוח. חלק מתהליך הניתוח והאפיון...

מי שמצביע – משפיע!

יום חמישי, אוגוסט 20, 2009

הנכם מוזמנים להצביע בעד ההרצאות שלי באתר של כנס המפתחים שאמור להתקיים ב- 14/09/2009 במשרדי מיקרוסופט ברח’ שנקר 13 בהרצליה. פרסמתי הצעה לשתי הרצאות מעניינות העוסקות בתחום פיתוח UI. שתיהן מאוד פרקטיות, ללא שווק, הכל תכלס, הכל מצד המפתח ועם כמה שיותר דוגמאות קוד. --- ההרצאה הראשונה הנה בנושא: “3D in Silverlight” או “תלת מימד בסילברלייט” בהרצאה זו אני הולך לדון בנושא של Rich Client Application for Internet עם שילוב של יכולות תלת ממד. נכון להיום, סילברלייט עדיין לא תומך באופן מלא בסצינות/אובייקטים תלת ממדים כמו WPF. בהרצאה אציג את הספריה Kit3D (קוד פתוח) כחלופה האפשרית לתצוגה של סצנות עם אובייקטים תלת...

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...

3D Library for Silverlight

יום שישי, מאי 15, 2009

Silverlight is great technology with powerful graphic capabilities, allows us to build RIAs with animated 2D graphics, scalable controls, media playback, uses GPU acceleration, and much more. The Silverlight application can be developed in same environment as WPF (Blend, Visual Studio, etc), has common principles of design as WPF (XAML, Namespaces, Syntax, etc). But, still it is different and targeted for cross-platform rich-client internet applications, the project from WPF can’t be ported easily to Silverlight (I’ll not open a discussion about why we can’t easily convert projects from WPF to Silverlight). I like both technologies, and mostly the 3D...

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). ...

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...

נעים להכיר: VIZKY

יום שבת, פברואר 21, 2009

לאחרונה יצא לי לבקר בסניף ישראלי של חברת VIZRT. החברה עוסקת בפיתוח ושווק של מוצרי תוכנה וחומרה בתחום הטלוויזיה, אינטרנט ומדיה דיגיטלית, בנוסף לחברה יש פעילות בתחומים אחרים. שם VIZRT (או בקיצור VIZ) מוכר בעולם הטלוויזיה, בעיקר בזכות מערכות הגרפיקה לשידורים טלוויזיוניים, VIZRT תופסת נתח נכבד בתחום הנ"ל בהרבה מקומות בעולם ועובדת עם רשתות/תחנות טלוויזיה גדולות כמו CNN, BBC, CBS, SKY, CCTV וגם עם רשתות/תחנות טלוויזיה בארץ כמו "קשת", YES וכמה נוספות. לחברה יש מספר מרכזי פיתוח ושירות הפרוסים בכל העולם (סניף ישראלי נמצא במרכז הסחרי/תעשייתי של שפיים), החברה תופסת מקום מכובד בעולם הטכנולוגי של שירותי המדיה...