誰かが.NETのアンビエントアトリビュートを照らすことができますか?.NETでAmbient属性を使用していますか?
2
A
答えて
1
私はMSDN linkがこれを説明するのに良いと思います。また
「アンビエント型(AmbientAttributeタイプレベルで適用されるタイプの)プロパティのタイプは、順不同で解決される必要がある特定のXAML処理の状況に使用することができ、上記ページ内の行を参照"
そしてこのlink氏は述べています
「AmbientAttributeは、アプリケーション、セッター、およびスタイルを含め、いくつかのWPFの種類、のメンバーに記載されています。また、暗示ResourceDictionaryの種類に発見されているようなのResourceDictionaryを使用して任意のメンバーメンバーが特別に帰属されていなくても、そのタイプは周囲環境とみなされるべきです。
1
あなたが正しい型の値にVをtypeconvertする方法を理解する前に、P(Pの実際のタイプを)知っている必要があります<Setter Property="P" Value="V" />
のような問題を解決するために使用されます。 "Property"プロパティを[Ambient]とマークし、1.ローダーが最初に "Property"を処理し、2. "Value"型コンバータが実行時に "Type"値を読み取ることを許可します。
これは、{StaticResource foo}
がXAMLの親を検索し、その中に "foo"が含まれている可能性のあるResourceDictionaryを探す方法です。
例:
// This markup extension returns the number of Ambient "Resource" properties
// Found in the XAML tree above it.
// The FrameworkElement.Resources property is already marked [Ambient]
public class MyMarkupExtension : MarkupExtension
{
public override object ProvideValue(IServiceProvider serviceProvider)
{
var schemaProvider = serviceProvider.GetService(typeof(IXamlSchemaContextProvider)) as IXamlSchemaContextProvider;
var ambientProvider = serviceProvider.GetService(typeof(IAmbientProvider)) as IAmbientProvider;
XamlMember resourcesProperty = new XamlMember(typeof(FrameworkElement).GetProperty("Resources"), schemaProvider.SchemaContext);
List<AmbientPropertyValue> resources = (List<AmbientPropertyValue>) ambientProvider.GetAllAmbientValues(null, resourcesProperty);
Debug.WriteLine("found {0} FramewrkElement.Resources Properties", resources.Count);
return resources.Count.ToString();
}
}
関連する問題
- 1. DataContract属性とDataMember属性はいつ使用しますか?
- 2. Webix(クライアントサイドフレームワーク)でRequire.js 'async属性を使用していますか?
- 3. srcset属性でimage_tagを使用していますか?
- 4. .net属性が委任をサポートしていませんか?
- 5. .NETの[Obsolete(string、bool)]属性の使用
- 6. シェフテンプレートで属性を使用しようとしています
- 7. jQueryを使用して別の属性の値に基づいて属性を設定できますか?
- 8. 属性パラメータとしてデリゲートを使用できますか?
- 9. 属性クラス名に「属性」を追加していますか?
- 10. mib2cで.needlength属性が使用されていますか?
- 11. XPATHを使用して属性値をスクレイプしますか?
- 12. goutteを使用してデータ属性をスクレイプしますか?
- 13. JSPページのリクエスト属性としてモデル属性を使用できません
- 14. UMLクラス図のAssociation属性またはList属性を使用しますか?
- 15. jqueryメタデータプラグインクロスブラウザを使用してカスタム属性を追加していますか?
- 16. Jqueryを使用して2つの属性を設定していますか?
- 17. カスタム属性を使用した.NET Unityインターセプト
- 18. 属性のみを使用した.NET MVCルーティング
- 19. Androidはsdkの属性を使用しています
- 20. 私は次のコード を使用しています属性
- 21. WSDLポートバインディングで 'address'要素の 'location'属性を使用していますか?
- 22. angularjsのsrc属性内でng-repeat変数を使用していますか?
- 23. いつ属性ターゲットを使用できますか?
- 24. .netメソッドの属性
- 25. Flex 4:トランジションはincludeIn属性とexcludeFrom属性で使用できますか?
- 26. 属性としてバリアントテンプレートを使用
- 27. vue.jsを使用してカスタム属性名
- 28. データ属性値を使用してスクロール
- 29. GCC、no_caller_saved_registers属性を使用して
- 30. .netコアで古い.netライブラリを使用しています