<Page x:Class="WpfApplication1.Page1"
xmlns:src="clr-namespace:WpfApplication1"
これで参照が通っているのでC#内のコードで書かれたPersonクラスをインスタンス化したい場合
<Page.Resources>
<src:Person x:Key="test" Name="このようにプロパティもセットできる"/>
</Page.Resources>
のように一意のキーを指定した上でインスタンス化する。この際プロパティを使って値をセットできる。この場合、以後XAML内で「test」の名前でこのオブジェクトにアクセスできる
この2行は何をしているか?について
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
C#におけるusingのクラスライブラリの読み込みみたいなものらしい
詳しくは
XAML ルート要素と XAML 名前空間を参照
using System.Linq;
using System.Text;
こんな感じでXAMLで利用するセットを名前空間で設定している(・・・クラスライブラリの外部サーバーへの配置。クラウド化みたいな考えで良いのかな?)
<object>
<object.Resources>
oneOrMoreResourceElements
</object.Resources>
</object>
object |
オブジェクト名 |
oneOrMoreResourceElements |
ここにリソース作成の為のコードを書く |
C#からは
public ResourceDictionary Resources { get; set; }
で拾える。以下C#のCLRの例。(どのエレメントに属したリソースかが重要でコードの位置によって「this」等が必要な事に注意する)
LinearGradientBrush a = (LinearGradientBrush)this.Resources["backgroundBrush1"];
この場合、backgroundBrush1 がXAML側で設定したキー
最終更新:2012年09月19日 00:11