XAML
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
&tag(XAML);
*目次 [#e529b795]
#contents
*参考情報 [#tfb8f37c]
-[[WPF]]
*名前空間 [#l0e68c8a]
**基本 [#p71fb4ac]
-[[WPFとSilverlightをまとめて習得しよう − @IT:http://www...
-XAMLファイルの先頭は次のような行を含んでいる。
#pre{{
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/prese...
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
}}
-1行目はWPF名前空間を規定の名前空間(プレフィックスなし)と...
-2行目はXAMLの言語機能をxプレフィックスとして使うことを宣...
**x:Name [#w1de3151]
-x:Nameはインスタンスの名前を指定する機能。
-WPFの基本クラスにはNameプロパティが存在しておりNameプロ...
*Tips [#o17c3303]
**他プロジェクトのクラスを参照する [#j7b9745c]
-[参照]→[追加]でプロジェクト参照を追加する。参照する側と...
-さらにxamlでassemblyを追加する。
#pre{{
<Window xmlns:view="clr-namespace:Sample.View;assembly=Sa...
}}
**条件によってコントロールの表示・非表示を切り替える [#f1...
-[[BooleanToVisibilityConverter クラス (System.Windows.Co...
-サンプル
#pre{{
<Window.Resources>
<BooleanToVisibilityConverter x:Key="booleanToVisibil...
</Window.Resources>
<TextBox Visibility={Binding IsValid, Mode=OneWay,Conve...
}}
**定数を定義して使う [#g1339fd2]
XAML中で定数を定義し、幅やマージンなどに一括して指定した...
-Systemをヘッダー部分でインポート。
xmlns:sys="clr-namespace:System;assembly=mscorlib"
-リソースで定数を定義
#pre{{
<Window.Resources>
<sys:Double x:Key="theWidth">48</sys:Double>
<Window.Resources>
}}
-StaticResourceで参照する。
<Button Width="{StaticResource theWidth}">OK</Button>
*トラブルシューティング [#d33de88a]
**デザイナでStaticResourceが参照できない [#n52ac2ce]
-例えばResources_ja.xamlとResources_en.xamlを用意し、コー...
-たとえ無駄になるとしても、App.xamlなどでデフォルトリソー...
#pre{{
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Resources_en....
</ResourceDictionary.MergedDictionaries>
}}
**デザイナのDataTemplateでNullReferenceExceptionが発生 [#...
-DataTemplateの内部で、ローカライズするためのRes拡張やLoc...
-原因は[[Designer reports DataTemplate object null refere...
#pre{{
# {Loc HelloWorld}
{Loc Key=HelloWorld}
}}
終了行:
&tag(XAML);
*目次 [#e529b795]
#contents
*参考情報 [#tfb8f37c]
-[[WPF]]
*名前空間 [#l0e68c8a]
**基本 [#p71fb4ac]
-[[WPFとSilverlightをまとめて習得しよう − @IT:http://www...
-XAMLファイルの先頭は次のような行を含んでいる。
#pre{{
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/prese...
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
}}
-1行目はWPF名前空間を規定の名前空間(プレフィックスなし)と...
-2行目はXAMLの言語機能をxプレフィックスとして使うことを宣...
**x:Name [#w1de3151]
-x:Nameはインスタンスの名前を指定する機能。
-WPFの基本クラスにはNameプロパティが存在しておりNameプロ...
*Tips [#o17c3303]
**他プロジェクトのクラスを参照する [#j7b9745c]
-[参照]→[追加]でプロジェクト参照を追加する。参照する側と...
-さらにxamlでassemblyを追加する。
#pre{{
<Window xmlns:view="clr-namespace:Sample.View;assembly=Sa...
}}
**条件によってコントロールの表示・非表示を切り替える [#f1...
-[[BooleanToVisibilityConverter クラス (System.Windows.Co...
-サンプル
#pre{{
<Window.Resources>
<BooleanToVisibilityConverter x:Key="booleanToVisibil...
</Window.Resources>
<TextBox Visibility={Binding IsValid, Mode=OneWay,Conve...
}}
**定数を定義して使う [#g1339fd2]
XAML中で定数を定義し、幅やマージンなどに一括して指定した...
-Systemをヘッダー部分でインポート。
xmlns:sys="clr-namespace:System;assembly=mscorlib"
-リソースで定数を定義
#pre{{
<Window.Resources>
<sys:Double x:Key="theWidth">48</sys:Double>
<Window.Resources>
}}
-StaticResourceで参照する。
<Button Width="{StaticResource theWidth}">OK</Button>
*トラブルシューティング [#d33de88a]
**デザイナでStaticResourceが参照できない [#n52ac2ce]
-例えばResources_ja.xamlとResources_en.xamlを用意し、コー...
-たとえ無駄になるとしても、App.xamlなどでデフォルトリソー...
#pre{{
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Resources_en....
</ResourceDictionary.MergedDictionaries>
}}
**デザイナのDataTemplateでNullReferenceExceptionが発生 [#...
-DataTemplateの内部で、ローカライズするためのRes拡張やLoc...
-原因は[[Designer reports DataTemplate object null refere...
#pre{{
# {Loc HelloWorld}
{Loc Key=HelloWorld}
}}
ページ名: