Site: http://jeffhandley.com/Default.aspx Link: http://feeds.jeffhandley.com/jeffhandley
by Jeff Handley via Jeff Handley on 10/25/2011 7:01:40 AM
Earlier this month, I explored using WebMatrix, Git, and AppHarbor to quickly create and publish a web site in the cloud. While at work this afternoon I got a phone call from a relative with a usability issue on the site. To fix the issue, I simply needed to wrap a hyperlink around an image, but I only had about 60 seconds to spare, which wasn’t enough time. Here’s what I would have needed to do: Open up a command prompt and cd into D:\github git clone https://jeffhandley@appharbor.co ...
[ read more ]
by Jeff Handley via Jeff Handley on 9/7/2011 6:50:15 AM
I’ve gotten quite a few requests for the source code behind the RIA Services Validation blog post series. I am pleased to announce that the code is now published on GitHub. http://github.com/jeffhandley/RIAServicesValidation Within that repository, you’ll find: RudeValidation.Web/Models – Server-side model classes RudeValidation.Web/Validators – Custom validators including CompareValidator, ConditionallyRequired, and DateValidator RudeValidation/Views – Sample screens showing the ...
by Jeff Handley via Jeff Handley on 9/7/2011 6:31:01 AM
For those of you familiar with the ViewModel (or MVVM) pattern, you are likely also familiar with a typical pain point regarding validation: you often need to duplicate your entity validation metadata onto your ViewModel classes. This can lead to burdensome dual maintenance of your validation rules, and it can seem very frustrating that with the server to client metadata propagation that RIA Services offers, your ViewModel classes are left dangling out there for you to manage yourself. In this ...
by Jeff Handley via Jeff Handley on 9/3/2011 1:25:26 AM
On September 1, 2011, Silverlight 5 RC was released. As always, RIA Services is included in the Tools for Silverlight, and that release included our V1.0 SP2 RC build. And also as always, we published a standalone installer for RIA Services. You can find it on the download center. The silverlight.net/getstarted/riaservices page will get updated soon to include the link to this build. This release is one more step toward closing down our SP2 release, and we fixed a number of bugs since SP1. ...
by Jeff Handley via Jeff Handley on 6/30/2011 8:00:51 AM
You’ve been asking for it for what seems like forever now, and as of today, it’s available. That’s right, WCF RIA Services now supports EntityFramework Code First! Varun Puranik developed the feature, and he has blogged about it, including some very useful Code Snippets. I recommend going to read his post first, and then coming back here. NuGet Baby! EF Code First support for RIA Services is the first feature where we’re using NuGet as the first distribution mechanism. Only NuGet offers th ...
by Jeff Handley via Jeff Handley on 4/13/2011 9:42:41 PM
Today at MIX11, Brad Olenick announced RIA/JS, a jQuery client for WCF RIA Services. This is an early preview that we want to get your feedback on. Long before WCF RIA Services V1.0 was released, we started talking RIA Services support for AJAX; in fact, you can see the item here on the RIA Services Wish List (11th ranked as of today). We hope that you’ll grab this preview and let us know if you like the direction we’re going. RIA/JS Features In today’s state the features are somewhat limited ...
by Jeff Handley via Jeff Handley on 4/13/2011 6:40:34 PM
This week at MIX, the RIA Services team has put out two releases: WCF RIA Services V1.0 SP2 Preview (April 2011) Download available here. This MSI is also included with the Silverlight 5 Beta Tools. Note: you cannot have both SP1 and SP2 installed on your machine. Installing SP2 will upgrade your machine from SP1 to SP2. This is a Preview-quality release and does not include a Go-Live license. Here’s what you’ll find within this release: Support for Silverlight 5 Beta - SP1 does not ...
by Jeff Handley via Jeff Handley on 3/10/2011 2:25:11 AM
On March 8, Visual Studio 2010 Service Pack 1 was released to MSDN subscribers, and general availability is March 10. For the WCF RIA Services team, this is especially exciting because our MSI is chained into the installation. If your machine has the Silverlight 3 SDK on it, then VS 2010 SP1 will install the Silverlight 4 developer runtime, the Silverlight 4 SDK, and WCF RIA Services V1.0 SP1. In addition to our inclusion in VS2010 SP1, our standalone installer has been updated to the RTM rel ...
by Jeff Handley via Jeff Handley on 12/6/2010 2:29:55 AM
I heard that with my last blog post that announced the December 2010 Toolkit release, there was some confusion about our Product vs. Toolkit. I have added clarification to that post, but I wanted to put out another post dedicated to clearing up any confusion I caused. Up until now, the WCF RIA Services team has always published 2 installers with each release: The actual “Product” bits – What gets installed as WCF RIA Services (with a specific version number) The additional “Toolkit” bi ...
by Jeff Handley via Jeff Handley on 12/2/2010 4:59:44 PM
Up until now, the WCF RIA Services team has always published 2 installers with each release: The actual “Product” bits – What gets installed as WCF RIA Services (with a specific version number) The additional “Toolkit” bits – What gets installed as WCF RIA Services Toolkit The Product installer is where our official product features reside. This includes our core .NET and Silverlight assemblies such as the LinqToEntitiesDomainService and the Silverlight DomainDataSource control. The T ...
by Jeff Handley via Jeff Handley on 11/20/2010 5:43:24 AM
Not too long ago, a gentleman named Bill Burrows (a VB MVP) contacted me and asked for permission to use content from my blog to create a video tutorial series on RIA Services Validation. I was really flattered by this and gave him my permission. I apply a Creative Commons Share-Alike license to the content on my blog, so Bill could have really done this without my explicit permission, but I do appreciate that he asked. I simply requested that he respect the Share-Alike and Attribution portio ...
by Jeff Handley via Jeff Handley on 11/20/2010 2:10:49 AM
In early pre-release versions of RIA Services, the DomainDataSource control did not support filter descriptors for Enum properties. We were able to get this fixed for our V1.0 RC release though, and I mentioned that back in March. I said in that post that I’d follow up with details about our Enum support, but I never did (until now). Someone actually called me out on this by commenting on the post. However, I thought the details of the comment were a bit humorous. Here’s what I received in ...
by Jeff Handley via Jeff Handley on 11/19/2010 12:54:30 AM
With our WCF RIA Services V1.0 SP1 Beta release, we have a known installation issue that we wanted to call out. In actuality, the issue is not with our SP1 installer, but with our V1.0 RTM installer, but it doesn't surface until you've installed SP1. To get right to the point: If you have WCF RIA Services V1.0 SP1 installed, do not attempt to install WCF RIA Services V1.0 RTM. If you do, you will find yourself in this strange scenario where both V1.0 RTM and V1.0 SP1 appear to be installed. ...
by Jeff Handley via Jeff Handley on 11/16/2010 9:39:49 PM
I was one of the developers that ported the System.ComponentModel.DataAnnotations assembly to Silverlight. Every once in awhile, someone asks me if the Silverlight version of the assembly is a subset of what is in .NET. The answer is Yes, but there are some caveats, and I’m honestly tired of regurgitating the detailed answer. With this blog post in place, I can now simply point people to a URL for the answer. This is what we call DRY. I’m sure that it goes without saying that the implementa ...
by Jeff Handley via Jeff Handley on 11/15/2010 10:53:38 PM
Last week, I tweeted about a bug the RIA Services QA team found. It’s rather obscure and we decided not to fix it. I thought it was worth mentioning for at least the humor of it. Here’s what you must be using in order to see this issue: Windows XP Service Pack 3 - Japanese Visual Web Developer 2010 Express - Japanese WCF RIA Services V1.0 SP1 Beta (or RTM, since we won’t be fixing the issue) VB And here’s what you do: Create a new Silverlight Business Application project us ...
by Jeff Handley via Jeff Handley on 10/28/2010 9:44:19 AM
UPDATE: The RIA Services team released a December 2010 Toolkit, and that release fixes the build issues encountered below. But this post still has value as it shows some ways to modify the code generated by our T4 Code Generator. Be sure to check out Varun Puranik’s Blog for more details on the December 2010 update. The RIA Services T4 Code Generation feature was checked in about 3 hours before we published our MSI for today’s release. Talk about publishing an experimental feature! So ton ...
by Jeff Handley via Jeff Handley on 10/28/2010 3:26:13 AM
BAM! This is an exciting day; today we are releasing WCF RIA Services V1.0 SP1 Beta and WCF RIA Services Toolkit October 2010. These download links are also available from http://silverlight.net/riaservices. Side-by-side installation with WCF RIA Services V1.0 is not supported. If you already have RIA Services installed on your machine, you should: Uninstall WCF RIA Services Toolkit Uninstall WCF RIA Services V1.0 for Visual Studio 2010 Install WCF RIA Services V1.0 SP1 Beta I ...
by Jeff Handley via Jeff Handley on 10/25/2010 8:56:35 AM
In our last post, we learned how ValidationContext can be used to provide and consume state and services for validation methods to use. Now, let’s take a quick look at how validation methods can actually use this information. I’m going to include a bunch of code in this post, and I will rely on the code to be rather self-explanatory. Property-Level Validation In this property-level validation example, we need to validate that the location entered for a meeting is a valid location from our da ...
by Jeff Handley via Jeff Handley on 10/25/2010 7:49:27 AM
Throughout this series on RIA Services Validation, I’ve mentioned and shown ValidationContext several times. In this post, we’ll learn about the purpose of ValidationContext, what types of context it can provide, and how it integrates with RIA Services. This will allow us to explore further topics such as cross-entity validation and open the door for other advanced validation scenarios. ValidationContext Purpose Although ValidationContext exists within the System.ComponentModel.DataAnnotatio ...
by Jeff Handley via Jeff Handley on 10/12/2010 8:31:05 AM
In my last post, I went over some cross-field validation scenarios and provided some sample code, including a CompareValidatorAttribute. We’ve now covered single-field validation and cross-field validation, but there’s yet another level of validation supported by RIA Services—Entity-Level validation. As you’ll see in this post, entity-level validation is very similar to what we’ve already seen. Entity-Level Validation Declaration Your entity types can declare entity-level validation using ei ...
by Jeff Handley via Jeff Handley on 10/10/2010 8:29:55 AM
I frequently hear questions about how to perform cross-field validation in RIA Services. Before thoroughly covering this topic*, I wanted to be sure to go through some simple scenarios, show how to use CustomValidationAttribute, how to derive from ValidationAttribute, explain how validation rules are propagated to the client, and what triggers the validation. Hopefully by now, you’re getting pretty comfortable with the validation framework and you’re ready to explore some more examples. * Per ...
by Jeff Handley via Jeff Handley on 10/6/2010 10:48:19 AM
My goal with this blog post series is to provide an end-to-end tour of how RIA Services validation works and how you can leverage its capabilities to build rich, responsive applications. A key factor for making the most of validation is fully understanding when and how RIA Services invokes your validation rules. Awareness of the various validation triggers will help you implement your validators so they are fired as you expect, when you expect. In this post will dig into the RIA Services code ...
by Jeff Handley via Jeff Handley on 9/30/2010 9:37:56 AM
Since the beginning of the RIA Services project, a primary tenet was to propagate validation rules defined on the server up to the client, integrating the validation directly into the Silverlight UI. This came to fruition with RIA Services v1.0 and you can in fact apply an attribute to your model on the server and automatically get instant client-side validation of data entry on even the simplest of Textbox controls. In fact, some validation rules are inferred from your data model directly. T ...
by Jeff Handley via Jeff Handley on 9/26/2010 10:39:42 AM
We just covered Custom Validation Methods, where we learned how to use CustomValidationAttribute to invoke a static (VB: Shared) method to perform validation. Let’s talk about an alternate approach to custom validation though: creating custom, reusable validators by deriving from ValidationAttribute. While it’s true that the custom validation methods used by [CustomValidation] could certainly be reusable, I tend to think of that approach as a light-weight way to call specific business logic ro ...
by Jeff Handley via Jeff Handley on 9/26/2010 6:12:46 AM
In our last installment, we learned about the standard validators that ship in the System.ComponentModel.DataAnnotations assembly. RequiredAttribute, RangeAttribute, StringLengthAttribute, and RegularExpressionAttribute all derive from ValidationAttribute and cover many common validation scenarios. Every system has its own business rules though, and therefore it’s imperative that RIA Services allows you to create custom validators to implement your own logic. Moreover, your custom error messa ...
by Jeff Handley via Jeff Handley on 9/22/2010 10:16:10 AM
RIA Services offers powerful features for flowing validation from your entity model all the way up to the Silverlight UI. In fact, flowing your validation rules from the server into your form controls was one of the primary tenets of RIA Services V1, and our team did the work of getting validation integrated deeply into Silverlight, long before RIA Services was released. In this post we’ll take a look at the standard validators that are offered. System.ComponentModel.DataAnnotations.Validatio ...
by Jeff Handley via Jeff Handley on 6/22/2010 9:36:45 AM
Over on our forums, many of you have reported difficulty with the ComboBox control when using RIA Services. Kyle McClellan (@KyleMcClellan) suggested that we drill into various ComboBox scenarios to see what works well and what doesn’t. Our goal was to produce some samples that address common scenarios, and to offer general guidance for ComboBox usage. Here are a few scenarios we looked at: Async loading of ItemsSource with a SelectedItem/SelectedValue binding; Cascading drop-downs s ...
by Jeff Handley via Jeff Handley on 5/26/2010 8:06:08 PM
Almost a year ago, I posted a lengthy article on how to implement Async Validation with RIA Services and DataForm. It was hard; much harder than it should have been, and we all knew it. Since then, things have changed, and async validation is a lot simpler. Let’s take a look at why it’s easier and how you can easily perform async validation in your application. INotifyDataErrorInfo Silverlight 4 shipped with an interface called INotifyDataErrorInfo, and controls that previously supported va ...
by Jeff Handley via Jeff Handley on 5/24/2010 10:39:41 PM
I came to Microsoft 2 years ago to join project Alexandria, which had the goal of making Silverlight an approachable framework for building business applications. The domain really excited me and it’s been an honor to work on this product. In case you’ve been living under a rock, we released the official 1.0 version of RIA Services back on May 17th. Here are some links to announcements that I’m sure you’ve already seen. Scott Guthrie Nikhil Kothari Tim Heuer Silverlight.TV Epi ...
by Jeff Handley via Jeff Handley on 3/22/2010 4:05:16 AM
As I was writing up a response to the questions on a forums post about using DomainDataSource from a ViewModel, I thought I should just publish the notes here. I hope this helps people understand what will and will not work from the DomainDataSource when being used outside the visual tree. I've heard many times that people are using the DomainDataSource in ViewModel scenarios. Contrary to popular belief, this can work very well with the control as it is today; there are only a couple features ...
by Jeff Handley via Jeff Handley on 3/18/2010 11:14:15 PM
This post comes to you from a guest writer, Kyle McClellan. Kyle works with me on the RIA Services team and he’s contributed to the DomainDataSource feature (among many other features in the framework). Kyle made the changes that allowed us to remove ControlParameter and use ElementName bindings for FilterDescriptor and Parameter that I recently blogged about. Now that the ControlParameter has been properly disposed of, you might have noticed that Parameter has changed substantially. Before ...
by Jeff Handley via Jeff Handley on 3/16/2010 2:24:10 AM
Of all changes that made it into the RIA Services RC release, one of the ones that I'm happiest about is the deletion of a class called ControlParameter. Yes, ControlParameter is gone, gone, gone--finally! If you’re wondering how you’ll get your UI-based filters and parameters to work without ControlParameter, do not fret… it’s easy; just use an ElementName binding! Let’s take a look at the changes related to Filters and Parameters… ControlParameter is gone… Good Riddance! Since the incepti ...
by Jeff Handley via Jeff Handley on 3/13/2010 1:38:39 AM
While off reading random blog posts on the tubes, I stumbled upon a post that describes a 101-level scenario of using lookup data in the DataGrid and DataForm with RIA Services. The author was struggling to find a solution for the problem and was clearly frustrated. The scenario is very common; let’s use the Cars example where every Model refers to its Make. We want a DataGrid that includes the make name as a column: And we want a DataForm with a ComboBox for the Make: Let’s tack ...
by Jeff Handley via Jeff Handley on 2/25/2010 7:42:43 AM
The System.ComponentModel.DataAnnotations.ValidationResult class was created for RIA Services, and it was introduced in Silverlight 3.0 and then added into .NET 4.0. A ValidationResult represents a validation error condition, specifying the error message and, optionally, any member names that the error corresponds to. If you use the [Required] attribute, the [Range] attribute, [StringLength], or any of the other provided ValidationAttribute classes, then ValidationResult instances are created ...
by Jeff Handley via Jeff Handley on 11/21/2009 5:40:51 PM
When changes are successfully submitted and you have paging enabled, it’s quite possible that some of the entities that have been edited now belong to a different page. Say for instance you are viewing employees ordered by last name, and you edit one of the employees to change their last name, moving them from Jones to Adams. After submitting changes, what should happen? Should Adams continue to show up on the 6th page, or should the data be refreshed to place everyone where they belong? A f ...
by Jeff Handley via Jeff Handley on 11/18/2009 6:04:00 PM
During Scott Guthrie’s keynote at PDC09 (starting around 1:28:00), Scott Hanselman presented a demo that highlighted Visual Studio 2010, Silverlight 4, RIA Services, and lots of great new tooling that ties all of these products together. I wanted to show you how you can build the same application using installations that are available today. Machine Setup You’ll need to install Visual Studio 2010 Beta 2 if you haven't already. If you have a previous release of RIA Services already installed, ...
by Jeff Handley via Jeff Handley on 11/16/2009 11:58:29 PM
DomainDataSource has two properties for getting the data out of it: Data and DataView. The Data property is what’s intended for exposure in Binding scenarios, for instance binding a DataGrid to the DomainDataSource. This property is typed very simply as an IEnumerable. The DataView property however is intended to be used for programmatic access to the entities exposed by the DomainDataSource. While the two properties currently return the same collection instance, this might not always be tru ...
by Jeff Handley via Jeff Handley on 11/10/2009 6:33:07 PM
While the DomainDataSource is most often used for loading entire sets of records, it can also be used for loading a single record result. This is a topic I’ve seen a few people talk about, assuming it’s a difficult thing to do, and even creating solutions for a problem that doesn’t exist. I want to dispel the myth here: DomainDataSource can in fact be used to easily bind to a single record result. Let’s create a DomainService that has a method to get the most recent error from the AdventureWo ...
by Jeff Handley via Jeff Handley on 10/17/2009 12:40:34 AM
ASP.NET Dynamic Data introduced the System.ComponentModel.DataAnnotations namespace in .NET 3.5 SP1. The namespace contained a bunch of attributes for applying validation rules to objects and their properties. With the “Alexandria” project (which morphed into .NET RIA Services plus some Silverlight/SDK/Toolkit additions), we were exposing your server-side entities up to your Silverlight client. In doing this, we wanted to preserve your DataAnnotations attributes on the client, which of course ...
by Jeff Handley via Jeff Handley on 8/12/2009 4:10:04 PM
I am one of the proud folks that gets to work on the System.ComponentModel.DataAnnotations assembly. This assembly is used by several products, and it seems more are starting to depend on it. Part of the fun with this assembly is that it exists for both Silverlight (as of Silverlight 3), and the full .NET Framework (as of .NET 3.5 SP1). I am responsible for managing source code sharing of this assembly for the two frameworks; in fact, I’m doing some work today related to this. Phil asked me ...
by Jeff Handley via Jeff Handley on 8/8/2009 2:44:39 AM
Awhile back, I blogged about how Silverlight uses Validation Exceptions, which can cause the debugger to break. I showed how to prevent that from happening, but the solution was less than ideal. Someone named rlodina commented on the post: What about manual adding: System.ComponentModel.DataAnnotation.ValidationException in this list. This comment has been sitting in my inbox for about a week, and I had wanted to follow up on this. Well good gosh, this is easy and it works li ...
by Jeff Handley via Jeff Handley on 7/14/2009 10:45:19 AM
With the .NET RIA Services July 2009 Preview, the DomainDataSource now enables some scenarios that were previously blocked. Most namely, we now allow you to change your current page while there are pending changes in the data. Editing and paging seemed like a common enough scenario that we wanted to enable it, so we’ve done so in the recent drop. There are actually many scenarios opened up right now that we’re reviewing. I’ll be frank: many of the following scenarios are probably doing really ...
by Jeff Handley via Jeff Handley on 7/11/2009 12:05:08 PM
The Birth of QuickSilverlight.Validation Over on the .NET RIA Services forums, “SilverlightRIA” asked about performing asynchronous validation with .NET RIA Services and the Silverlight Toolkit’s DataForm. He wanted to intercept the Commit from the DataForm and invoke his async validation, integrating the results into the DataForm’s validation UI. This was an interesting scenario so I put some time into a solution for it this week. The result is a library that I’m calling QuickSilverlight.Va ...
by Jeff Handley via Jeff Handley on 4/1/2009 5:33:11 PM
With the Silverlight 3 Beta SDK and .NET RIA Services, a lot of people are starting to utilize the System.ComponentModel.DataAnnotations library to add validation metadata to their entities. Something that has tripped up some people is the use of exceptions for validation errors, where Visual Studio breaks with a user unhandled exception. As Keith Jones reported, Silverlight 3 uses exceptions to notify controls when validation has failed. This means that many users will see Visual Studio brea ...
by Jeff Handley via Jeff Handley on 12/12/2008 5:44:32 AM
Earlier this year, I talked about how I hadn’t yet seen the need for using the Custom Controls Everywhere approach in XAML. I said, “Just use the controls you have, apply styles, and attach properties and behaviors. And if you find a case where this falls short, let me know!” Well, today, Rick Strahl had a tweet: What's the best way to provide cell padding in the Silverlight grid control? Apply margins to all cell child controls? To which I replied: Yeah, unfortunately, margins on a ...
by Jeff Handley via Jeff Handley on 11/14/2008 10:22:45 PM
Not long after I joined Microsoft, I was looking at the Silverlight Airlines code sample. I was new to Silverlight, so I used this demo as a way to help learn Silverlight. The demo app is pretty cool, and ScottGu showed it off at Mix, so I had seen it before. I took on an exercise to attempt to add some features to the application, and this helped me learn more about Silverlight. To select a flight, you drag your mouse from one city to another, and then drag over the date range for your t ...
by via Jeff Handley on 10/30/2008 1:15:02 AM
This is something that has bitten me several times, so I thought I’d write it down. Maybe I’ll remember, and maybe I’ll help others when they hit this too. The scenario happens when you want to create a new control that can have a template applied to it. Let’s start with this control definition: 1: using System; 2: using System.Windows.Controls; 3: using System.Windows.Markup; 4: 5: namespace ControlTemplate 6: {
... [ read more ]
by Jeff Handley via Jeff Handley on 10/28/2008 4:58:53 AM
One of the reasons why the ViewModel pattern is so powerful in Silverlight and WPF is because Binding Converters can do so much. As we saw in HelloWorld.ViewModel, a ViewModel can expose a boolean property that is consumed as a Visibility value for controls. This requires some glue to convert the boolean to the necessary enum, and that’s where our VisibilityConverter comes in. If you want to see this in action, go check out the sample code, but here’s how the VisibilityConverter works. In or ...
by Jeff Handley via Jeff Handley on 10/28/2008 3:46:50 AM
I just updated my HelloWorld.ViewModel post from earlier today to include the full source code as well as a running app (and a screen shot). Running app here. Source code here. ...
by Jeff Handley via Jeff Handley on 10/27/2008 6:08:35 PM
A few folks asked me to provide a ViewModel sample of some sort. I thought this was a great idea, since I don’t know that I had seen a straight-forward ViewModel sample yet. So here it is: HelloWorld.ViewModel! Click the image to view the Silverlight sample live. Let’s start out by looking at the code for the ViewModel class, since that’s the file that I authored first. 1: using System; 2: using System.ComponentModel; 3: 4: namespace HelloWorldView ...
by Jeff Handley via Jeff Handley on 10/21/2008 11:31:58 PM
When I was at BIG, I created what I called the Extended MVP pattern. I built a framework that was used on multiple projects for managing the presentation layer as well as validation. I’m still very happy with what I created, and my teams at BIG are still pleased with those applications as well. In fact, I just learned that they were looking into using the pattern within a Silverlight project they’re doing a proof of concept for. I mentioned the ViewModel pattern to them, suggesting they use ...
by Jeff Handley via Jeff Handley on 10/14/2008 7:44:35 AM
Tonight, Silverlight 2 is being released to the web (RTW). This release marks an important milestone for .NET developers, probably more so than most realize. Silverlight 2 provides a browser control that can host .NET assemblies. If you’ve been living under a rock, or if you just haven’t been following the Silverlight story, this is news to you; but chances are, you’ve heard this before. But if this doesn’t make you jump up and down with excitement, then you might need to sit back and really ...
by Jeff Handley via Jeff Handley on 10/9/2008 5:54:18 PM
After I posted about how to regain tab navigation in a popup, Ian commented that the workaround had some flaws. First, he lost intellisense inside the <UserControl> and second, which is more painful, he could not refer to any controls inside the child <UserControl> from the page's code-behind. Well, I found a more suitable workaround. Instead of using a <UserControl> to set the TabNagation, you can use a <ContentControl> instead. Here's the updated workaround code: ...
by Jeff Handley via Jeff Handley on 10/8/2008 4:05:11 AM
One of the approaches I've tried using to combat the PropertyChangedEventHandler nuisance is an extension method on INotifyPropertyChanged. Actually, a pair of them. One accepts a single property name and the other accepts a param array of property names, so that events can be fired for multiple events succinctly. 1: /// <summary> 2: /// Raise the specified PropertyChangedEventHandler for the sender 3: /// and property name, but only when the handler is not nu ...
The content of the postings is owned by the respective author. Silverlight Feeds is not responsible for the contents of the postings. This site is automatically generated and cannot be reviewed for abusive content. If you find abusive content on Silverlight Feeds, please contact us. Designated trademarks and brands are the property of their respective owners. All rights reserved.