ViewMakerで生成するWPF/Silverlightコントロール(19)Literal編

今回はXAMLコードを直接するためのアイテムです。ViewMakerでサポートしないコントロールでもXAMLコード指定して表示できます。ある意味何でもできます。

Literalコントロール

部分的なXAMLコードを指定します。ViewMakerではLiteralはTextBoxと同じような扱いになっておりヘッダーも付与できます。

    1. Literal(リテラルタグ)

もし、リテラル指定したXAMLに共通属性が付与されてしまいXAML生成でエラーになった場合はContentControlのようなコントロールを全体で囲みます。

WPFサンプルイメージとXAMLコード

    <Label Width="100" VerticalAlignment="Center">Literal1</Label>
    <Calendar Name="Literal1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        VerticalAlignment="Center" Grid.Column="1" />

SilverlightサンプルイメージとXAMLコード

    <Label Target="{Binding ElementName=Literal1}" Width="100" VerticalAlignment="Center" 
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk">Literal1</Label>
    <sdk:Calendar Name="Literal1" xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk" 
         VerticalAlignment="Center" Grid.Column="1" />

ViewModelコード

[View(ViewControlType.StackPanel)]
public class LiteralSample
{
    [View(ViewControlType.Literal)]
#if !SILVERLIGHT
    [ViewProperty(LiteralViewControl.Properties.Literal, "<Calendar
         xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" />")]
#else
    [ViewProperty(LiteralViewControl.Properties.Literal, "<sdk:Calendar
         xmlns:sdk=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk\" />")]
#endif
    public string Literal1 { get; set; }
}