Difference between revisions of "Silverlight"

From Richard's Wiki
Jump to: navigation, search
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
* [http://blog.thekieners.com/2010/04/21/opening-an-microsoft-office-documents-with-silverlight/ Opening a Microsoft Office document with Silverlight]
 +
* [http://blog.kevindockx.com/post/Using-a-Channel-Factory-in-Silverlight-(instead-of-adding-a-Service-Reference)-With-cows.aspx Using a ChannelFactory in Silverlight (calling WCF without Service Reference)]
 +
* [http://blogs.msdn.com/b/carlosfigueira/archive/2008/03/07/enabling-cross-domain-calls-for-silverlight-apps-on-self-hosted-web-services.aspx Enabling cross-domain calls for Silverlight apps on self-hosted web services]
 +
 +
* [http://msdn.microsoft.com/en-us/library/ee796241(v=vs.91).aspx Walkthrough: Displaying Related Data in a Silverlight Business Application - WCF RIA Services (MSDN]
 +
** Edit a Domain Service Query to Include Related Data
 +
** Add [Include] attribute in .metadata.cs
 +
 +
 +
* [http://tomasz.janczuk.org/2010/04/debugging-wcf-ria-services-with-wcf.html Debugging WCF RIA Services with WCF traces]
 +
Need to also add this to web.config:
 +
<code>
 +
<configSections>
 +
  <sectionGroup name="system.serviceModel">
 +
    <section name="domainServices" type="System.ServiceModel.DomainServices.Hosting.DomainServicesSection, System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
 +
  </sectionGroup>
 +
</configSections>
 +
</code>
 +
* [http://www.scottleckie.com/2010/05/silverlight-databound-combobox/ Silverlight 4 data-bound combobox dropdown]
 +
* [http://www.dansoltesz.com/post/2010/02/19/Silverlight-datagrid-double-click-behavior.aspx Silverlight datagrid double click behavior]
 +
* To get dates to appear in correct dd/mm/yyyy Australian form in autogenerated DataGrid columns, do this in UserControl constructor:
 +
// This makes dates appear in correct local form in autogenerated DataGrid columns (yippee!)
 +
Language = System.Windows.Markup.XmlLanguage.GetLanguage(System.Threading.Thread.CurrentThread.CurrentCulture.Name);
 +
* [http://msdn.microsoft.com/en-us/library/cc296254(v=VS.95).aspx Accessing Web Services in Silverlight (MSDN) - Useful umbrella article, has detailed articles on security and service types supported]
 +
* [http://sandrinodimattia.net/blog/post/Making-WCF-RIA-Services-work-in-a-DMZMultitier-architecture-using-Application-Request-Routing.aspx Making WCF RIA Services work in a DMZ/Multitier architecture using Application Request Routing]
 +
* [http://shemesh.wordpress.com/2010/07/10/silverlight-gridsplitter-with-a-collapse%C2%A0button-%E2%80%93-best/ GridSplitter with a Collapse Button]
 +
* [http://blogs.msdn.com/b/deepm/archive/2010/05/14/silverlight-tv-episode-26-exposing-soap-json-and-odata-endpoints-from-ria-services.aspx  Silverlight TV Episode 26: Exposing SOAP, jSON and OData Endpoints from RIA Services]
 
* [http://blogs.msdn.com/b/davrous/archive/2010/12/03/how-to-open-a-wcf-ria-services-application-to-other-type-of-clients-the-soap-endpoint-3-5.aspx How to expose a WCF RIA service as a “standard” WCF Service]
 
* [http://blogs.msdn.com/b/davrous/archive/2010/12/03/how-to-open-a-wcf-ria-services-application-to-other-type-of-clients-the-soap-endpoint-3-5.aspx How to expose a WCF RIA service as a “standard” WCF Service]
 
* [http://msdn.microsoft.com/en-us/library/ee707351(v=vs.91).aspx Walkthrough: Creating a RIA Services Class Library]
 
* [http://msdn.microsoft.com/en-us/library/ee707351(v=vs.91).aspx Walkthrough: Creating a RIA Services Class Library]

Latest revision as of 17:34, 4 October 2011


Need to also add this to web.config:

<configSections>
 <sectionGroup name="system.serviceModel">
   <section name="domainServices" type="System.ServiceModel.DomainServices.Hosting.DomainServicesSection, System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
 </sectionGroup>
</configSections>

// This makes dates appear in correct local form in autogenerated DataGrid columns (yippee!)
Language = System.Windows.Markup.XmlLanguage.GetLanguage(System.Threading.Thread.CurrentThread.CurrentCulture.Name);
  • To get rid of warnings like:
Type of 'Blah.Blah.Blah' is not CLS-compliant

when you have a separate assembly for models, etc, add the following line to AssemblyInfo.cs in the library (ie non-UI) assembly:

[assembly: CLSCompliant(true)]
  • Silverlight 4 design-time sample data. Add a static collection to the view model, and set the following as the parent datacontext, remember to set ItemsSource to {Binding name_of_static_property_which_is_the_sample_collection}:
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
d:DataContext="{d:DesignInstance local:ViewModelClassName, IsDesignTimeCreatable=True}"

       // Have to override GetAuthenticatedUser when using Windows authentication.
       // Even when Windows auth is defined, the auth subsystem insists on looking for an
       // AspNetProvider SQL database. Code below gets the user information from the 
       // principal in the Windows Auth case.
       protected override User GetAuthenticatedUser(System.Security.Principal.IPrincipal principal)
       {
           User user = new User();
           Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
           SystemWebSectionGroup grp = (SystemWebSectionGroup)config.GetSectionGroup("system.web");
           AuthenticationSection auth = grp.Authentication;
           if (auth.Mode == AuthenticationMode.Forms)
           {
               user = base.GetAuthenticatedUser(principal);
           }
           else if (auth.Mode == AuthenticationMode.Windows)
           {
               string[] a = principal.Identity.Name.Split('\\');
               //System.DirectoryServices.DirectoryEntry ADEntry = new System.DirectoryServices.DirectoryEntry("WinNT://" + a[0] + "/" + a[1]);
               //string Name = ADEntry.Properties["FullName"].Value.ToString();
               user.Name = a[a.Length-1];
           }
           return user;
       }

  • Dropshadow effect (in Resources):

<DropShadowEffect x:Key="DropShadow"  
               BlurRadius="15" 
               Color="Black" 
               Direction="320"
               Opacity="1.0"
               ShadowDepth="10" />

    • To use (in xaml):

Effect="{StaticResource DropShadow}"

    • To use (in .cs):

 control.Effect = Application.Current.Resources["DropShadow"] as System.Windows.Media.Effects.Effect

  • To get position of a UIElement:

// Obtain transform information based off root element
UIElement element = this as UIElement;
GeneralTransform gt = element.TransformToVisual(Application.Current.RootVisual);
// Find the four corners of the element
Point topLeft = gt.Transform(new Point(0, 0));
Point topRight = gt.Transform(new Point(element.RenderSize.Width, 0));
Point bottomLeft = gt.Transform(new Point(0, element.RenderSize.Height));
Point bottomRight = gt.Transform(new Point(element.RenderSize.Width, element.RenderSize.Height));

Silverlight & CAL (PRISM)

Silverlight Control Libraries & Resources

Silverlight (&WPF) Pixel Shader Resources