WPF навигация

В 2001 Microsoft опубликовала документ под названием Inductive User Interface Guidelines. Если вы еще не читали этот документ, то я советую сделать это. В этой статье я хочу рассмотреть построение вводного пользовательского интерфейса на WPF.

Читать полностью »

02.10.2009

Полезные ссылки (27.09.2009)

.NET

  1. Implementing a LINQ version of SQL’s LIKE Operator — One of the requirements of one of my recent projects was to implement a search page which allowed the user to enter a search term that supported wildcards. The search term could contain any number of wildcards in any position within that term...
  2. Reading and Writing data using custom methods and the System.Xml Namespace — On a previous post dealing with Xml Serialization I mentioned that one of the ways you could achieve this was by customizing the read and write methods. I’m going to bypass the wrapping the code into Read/Write methods and go straight to the code...

Читать полностью »

27.09.2009

Полезные ссылки (24.09.2009)

.NET

  1. Logging with log4net — log4net is a great little logging library. There seem to be some mixed results out there as to whether or not it outperforms the Enterprise Library's Logging Application Block, although it appears to me the general findings are that log4net is faster. For me, I guess it would come down to how badly I wanted integration with the rest of the Enterprise Library. If that's not a priority, log4net can be a lightweight, fast way to get logging going in your application...
  2. Becoming really rich with C# — Or maybe not, please do not hold me responsible if you lose money following this system. Having said that, it is my opinion that there are very few concepts that are important in investing. Three big ones are value, diversification and momentum. This post is about the latter two and how to use C# to create a simple trading system that uses both...
  3. What's in Your Collection? Part 3 of 3: Custom Collections — We've covered the interfaces and some concrete instances of collections provided by the .NET Framework. Now you are interested in moving things to the next level. What if the provided collections simply don't meet your business requirements? What are some ways you can use the collections concept to build your own classes to solve business problems?...

Читать полностью »

24.09.2009

Полезные ссылки (21.09.2009)

.NET

  1. Gallio 3.1 is here — Yesterday I noticed that a new version of Gallio, my favorite Test and Automation platform, was released a few days ago. Although the official version number suggests only a small progression (we are coming from v.3.0.6 SR2 and now have v3.1), it is a major upgrade that brings not only some minor improvements, but a wealth of new features. Among the highlights are...
  2. Hacking LINQ Expressions: Join With Comparer — In this installment of my Hacking LINQ series we’ll take a look at providing an IEqualityComparer for use in a LINQ join clause...

Читать полностью »

21.09.2009

Полезные ссылки (17.09.2009)

.NET

  1. Embedding .Net controls to NotifyIcon Balloon Tooltip. — Some guys asked me if it is possible to add a hyperlink to the NotifyIcon Balloon Tooltip. It’s not too hard to add it with WinAPI, but an idea was born to embed .NET controls to it. There could be a number of purposes for this. Again, you can add a hyperlink to make a user go to a specified web-site. You can add an image to the tooltip and so on. So I've used a standard .NET NotifyIcon and tried to modify it. There is an example of how it looks...
  2. Date Handling Tip Part 2: Get the Month Name as Extension Method — After my last post on the GetMonthName, I had a question on how to add this method to the DateTime class as an Extension method. I thought this would make a good follow-up, so here is how you can accomplish this...
  3. How do I inform one form that data in another form got changed? — This short sample demonstrates how to let one form in a Windows Forms application know when data in another form got changed. To implement this behavior I’ll show you how to create an event on Form2 and how to subscribe to this event on Form1 using the Handles keyword. The C# source code uses delegates to implement the aforementioned behavior...
  4. How to simulate IN Clause in LINQ queries — When working with the LINQ queries for SQL one of the common queries that we need to run is the select query with IN clause. In SQL IN clause is used to provide more than one value to match in the where clause...
  5. Using LINQ to query object hierarchies — I used LINQ to solve the following problem: find all titles of objects at hierarchy level X when you know object ID in hierarchy level Y. I cannot imagine if there is some other solution that is same short and clear as one that LINQ provides. Take a look and decide by yourself...
  6. Hacking LINQ Expressions: Select With Index — First, a point of clarification: I use LINQ Expressions to mean (Language-INtegrated) Query Expressions (the language feature) rather than Expression Trees (the .NET 3.5 library in System.Linq.Expressions)...
  7. iPhone Gets .Net App Development — Novell has announced MonoTouch 1.0, a commercial SDK that allows developers to build iPhone apps using Microsoft's .Net Framework instead of the Apple-designated C or Objective-C languages...

Читать полностью »

17.09.2009

Полезные ссылки (14.09.2009)

.NET

  1. Testing to see if a record Exists in LINQ to SQL — There are a number of options you can consider when testing to see if a record exists using LINQ to SQL. Which one should you use? It depends… In general, check the generated SQL for various options in SQL Management Studio to see the how the various execution plans compare. For example, each of the following can tell you if a record exists...
  2. NHibernate Profiler v1.0 Released — The NHibernate Profiler started about a year ago, and I estimated it at about three months of development. We released the public beta version in that time frame, and I think that we could have called in v1.0 then...
  3. Taming Your Sequence’s Side-Effects Through IEnumerable.Let — Side-effects don’t fit together very well with functional-style delayed computation, as observed in LINQ. Having such constructs embedded in an otherwise eagerly evaluated imperative language like C# can cause quite some confusion from time to time. A few samples (due to Erik Meijer) of such “mishaps” are shown below...
  4. Simplifying LazyLinq — This is the fourth in a series of posts on LazyLinq, a wrapper to support lazy initialization and deferred disposal of a LINQ query context...
  5. Announcing Gallio and MbUnit v3.1! — Gallio v3.1 is a major upgrade to the platform. This release includes many new features, better performance, and improved robustness...

Читать полностью »

14.09.2009

Полезные ссылки (10.09.2009)

.NET

  1. Set Difference Minus Operation with LINQ in C# — Sometimes you want to use a Difference (or Minus) set operation which goes like this: Give me all elements from set A that do not exist in set B. Or simply put A – B. The LINQ Except method does this if both sets A and B are of the same type, but frequently the sets are of different types and must have their identifiers matched. Here is a quick little example of how to do this with LINQ...
  2. MonoDevelop 2.2 Beta 1: We go cross platform. — Since the beginning of time, man has yearned to get a cross platform .NET IDE. Homer's Odyssey described one man's effort to achieve such a thing. And it was not until today, September 9th of 2009 that the world can test out such a tool...
  3. — Creating a full blown url shrinking service was pocking around in my mind for quite some time(of course by using Twitter). Since I heard quite a few good things on Entity Framework 4.0, so I decided to start with it. The first thing I usually do when developing an application is creating the domain model. But to create the domain model, we first have to define the basic functionalities...

Читать полностью »

10.09.2009

Полезные ссылки (03.09.2009)

.NET

  1. BASIC: Binding ListBox and DropDownList using LINQ — This example shows the basic way on how to populate a data from database to a ListBox/DropDownList control using LINQ to SQL...
  2. LINQ Tools — I’ve recently started giving a series of talks on LINQ based tools. While Visual Studio offers a lot in regards to support for LINQ, there are a number of mostly free tools that come in handy both from a usability and a learning experience. I gave a brief look at some of the tools as part of Russ’s Tool Shed which should be airing on MSDN’s Channel 9 in early October. In addition, I’m premiering the full presentation at this weekend’s Tallahassee Code Camp. If you can’t make it out, feel free to try the tools on this list to see if they help you thinq LINQ. Also, let me know if I’m missing any tools that you think are worthy to be included in the list...
  3. Building Performant Line of Business Applications with LINQ to SQL — Each step in the scenario requires different entities in different configurations; to keep explanations brief we will only use the Customer, SalesOrderHeader, SalesOrderDetail, and Product entities. The basis for which you tune is based on the business objects for each bullet of the scenario, starting with minimizing what data you really need...
  4. Rhino Mocks 3.6 — This release is mostly to put out all the patches & fixes that went into Rhino Mocks since the 3.5 release, almost a year ago...

Читать полностью »

03.09.2009

Полезные ссылки (31.08.2009)

Web

  1. 20 jQuery Plugins and Tutorials to Enhance Forms — In this post we have a selection of jQuery plugins and tutorials for enhancing and aiding in the development of the dreaded form area. There are the always important validation plugins, plugins that will give the form added functionality (stretching text-areas, auto-tabbing…)...
  2. CSS Vertical Centering Tutorial — Vertical centering with CSS seems to be a large obsticle in the Web design world and I notice a lot of people favor -based layouts when the need for vertical center arises. That's too bad...
  3. Getting and setting max zIndex with jQuery — I have a fair number of applications that use pop up windows and other draggable elements that are stackable. When dragging and moving windows around the page it’s often critical to ensure that windows show up in the proper zOrder without having to explicitly assign the window order...
  4. Create a Stunning Sliding Door Effect with jQuery — This tutorial is going to be awesome! I got inspired by my friend's Image Splitting Effect from Tutsvalley. I decided to take one step further, create a four corners sliding door effect...
  5. Читать полностью »

    31.08.2009