My Agile Journey

There can be debates whether the Agile Software Development processes have become mainstream or not, but most of the software development houses are trying to adopt the Agile practices. Yet, coming from academia or, say, a less agile environment, such practices can be misunderstood. In this post, I am going to tell how I have become an avid agile practitioner and what has helped in that glorious journey. More...

Handling the Double-Click Event with the Visio API

I have already covered the Visio event model in one of the previous posts. Unfortunately, not every event can be handled in that easy way. For instance, the double-click event requires a totally different approach. In order to handle the double-click on a shape you have to use ShapeSheet More...

Reading and Writing Visio Shape Information with C#

Often, you want to either to read or put some additional information regarding shapes in your diagram. For instance, you have an application for drawing a layout of your office. Obviously, every piece of equipment or furniture your have has some information, such as its name, code and any other information related to facility management. There are two ways of reading/writing such kind of information. The first one is to make use of Visio custom properties, while the second one is to store that kind of information in a database. The former is relatively simple, as it doesn’t require to have any additional layer, such as database. At the same time, the latter is more versatile, as it allows integrating Visio application with other business application by querying a database. In the tutorial we cover the first option, that is using custom properties of Visio. More...

Understanding Visio Event Model

In the previous chapters we have already seen an important Visio event, DocumentOpened, which is triggered each time you open a new diagram. However, the Visio API supports tons of other events and some of them are necessary for building sophisticated applications around Visio. Provided you have an application with an embedded Visio control and users can use the application to modify diagrams. Obviously, you want to keep track of such changes and, say, record them in a database. Visio events allows you to receive notifications every time such a change occurs. More...

Analysing Parent-Child Relations in Visio

This is the second part of the Developing for Visio series. Today, we’ll speak about how to analyse programmatically parent-child relationships in Visio diagrams. Often, especially in block diagrams there are boxes that contain other boxes. image However, during iterating through shapes in a Visio diagram such a relationship is not preserved. More...

Developing Applications for Visio with Visual Studio (VSTO, Windows Forms, WPF, XBAP)

This tutorial demonstrates how to extend the Visio functionality by writing an Visio add-in with VSTO, creating a standalone application with both Windows Forms and WPF, and finally by building a browse application with WPF (XBAP). More...

WPF DataGrid CheckBox Single Click Checking/Unchecking

WPF DataGrid has a very annoying behaviour of forcing users to click twice on a checkbox in order to check or uncheck it. There are a number of solutions proposing handling mouse preview events and switching a DataGrid into the edit mode manually. The problem with such solutions is that the require writing quite a lot of extra code that seems to be an overkill for such a minor, yet irritating problem. I propose a better option, to use a DataGridTemplateColumn instead of DataGridCheckBoxColumn. Indeed, you can easily place a CheckBox inside a DataGridTemplateColumn, bind it to a corresponding property and it will be checkable/uncheckable with a single click. More...

Copying Databases with SQL Server Express Management Studio

Often you need to make a full copy of a database, for example, if you you want to change something and see how it goes without ruining a production database. And if you happen to use SQL Server Express edition you are not so fortunate because famous Copy Database Wizard does not seem to be unavailable in  SQL Server Express Management Studio. There is a simply solution, however. It is using the backup and restore features. More...

Graphical Tools for SQL Server CE 4.0

When I was writing my introductory post about the newly released version of SQL Server or more precisely about just a CTP (Community Technology Preview) version, I complained about an apparent lack of graphical tools similar to SQL Server Management Studio or at least similar to Visual Studio Server Explorer. Such a lack made an exploration of indeed promising features of SQL Server CE 4.0 a slightly tricky task. However, as I pointed out in my previous post that shouldn’t  actually prevent programmers from playing with this database, because in spite of non-existence of GUI tools there was already an API released, thus it was possible to interact with the database system by just issuing SQL statements from C# or any other .NET language. However, I was wrong in my statement about a lack of GUI tools, in fact they do exists. More...

Introducing SQL Server CE 4.0 CTP

When I came across a story on the newest version of SQL Server CE by Scott Guthrie, as well as a blog post in the SQL Server CE team blog, I was amazed that it was possible to run on a web server for ASP.NET application in the Medium Trust mode without any installation. This literally means that finally one can use SQL for storing data even though their hosting plan, for example, doesn’t allow having a SQL Server database. More...
Previous posts