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

Facebook Graph API and Its JavaScript SDK

Facebook has recently released a new tool for accessing its vast amount of data. The name of the tool is the Graph API. The Graph API allows you to literally interact with any Facebook object, including users, their photos, posts, groups, pages, as well as connections between object, i.e. listing people’s friends, group members and page fans, etc. Moreover, this interaction isn’t only single-directional, in fact you can also modify object, add and delete them. More...

Design Patterns are not a Silver Bullet and the State of the Programming Blogosphere

Design patterns are not a universal tool that can be applied to any project or be used with any programming language. Quality code can be produced without implementing any pattern or even without using OOP. One shouldn’t think of their colleagues as of bad developers if they don’t know the names of fancy design patterns. Moreover, not any single programming project is a business application. More...

AJAX File Upload in ASP.NET with the AsyncFileUpload Control

Finally, it has become possible to easily add AJAX file uploading capabilities to ASP.NET applications. The newly released version of the AJAX Control Toolkit ships with two new controls, one of them is called AsyncFileUpload control which was designed specially for the above mentioned purpose. It’s really great that a new version of AJAX Control Toolkit has arrived, because the project seemed to be dead, especially since ASP.NET MVC had taken its place on the stage and many developers switched to it and to jQuery which can also be used with ASP.NET WebForms. Anyway, it is the time to introduce the control for asynchronous file uploading. More...
Previous posts