Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <ol> <li><p>The validation abstraction is aimed to plug a validation infrastructure in ViewModels.<br> Caliburn's <code>DefaultValidator</code> uses System.ComponentModel.DataAnnotations, but an adapter for <a href="http://fluentvalidation.codeplex.com/">Fluent Validation</a> is also available.<br> While the validation could be used directly from application code, it is used by the framework mainly in the AOP validation behavior, which provides an automatic <code>IDataErrorInfo</code> implementation for models.</p> <p>If your models already implement <code>IDataErrorInfo</code>, Caliburn is able to hook the validation (as a part of conventional binding process) leveraging plain WPF binding.<br> Yet, implementing <code>IDataErrorInfo</code> manually is boring and likely to lead to hardly mantainable code, so the AOP <code>[ValidateAttribute]</code> was introduced. To enable it, you have to configure your container to use the available proxy factory (which is based upon Castle.DynamicProxy):</p> <p><code>myContainerAdapter .WithProxyFactory&lt;Caliburn.DynamicProxy.DynamicProxyFactory&gt;()</code> </p> <p>This instructs the container adapter to inspect behaviors attribute applied on the ViewModels (and other components) pulled from the container, and to create a subclass of them implementing the specified behavior. </p> <p>The <code>[Validate]</code> behavior implementation just delegates 'IDataErrorInfo' calls to the actual <code>IValidator</code> service. </p></li> <li><p>Module framework is used by Caliburn itself to manage configuration and initialization of its own modules. It could also be used to create independent application modules: Caliburn will take care of discovering them (if their assemblies are registered in IAssemblySource) an drive their initialization;</p></li> <li>Caliburn doesn't use reflection to invoke action, but builds delegates on the fly leveraging Expression Trees to create a compiled lambda;</li> <li>The ViewModelFactory service is used by Caliburn to abstract the creation of VM, either by type or by Subject handled;</li> <li>ShellFramework contains a set of facility useful to build most applications; it includes some custom <code>IResult</code> (along with fluent-style static methods to create them) and some pre-built ViewModels (Menus and Question/Message dialog) to accomplish common application tasks.</li> </ol>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload