dev*_*os1 7 c# wpf user-controls markup-extensions
我试图MarkupExtension通过给我一个更好的方法在XAML中指定绑定来编写自定义以使我的生活更轻松.但是,我想知道是否有任何方法可以访问表示所用文件的对象MarkupExtension.
换句话说,假设我有一个UserControl定义我的程序的数据模型的特定再现.这个控件有很多视觉材料,如网格,边框和总体布局.如果我MarkupExtension在一个元素的特定属性上使用my UserControl,我想访问它的实例UserControl,而不知道它是什么类型(我计划使用反射).
这是可能吗?
Abe*_*cht 13
在.NET 4.0中,他们添加了IRootObjectProvider功能,但不幸的是,它在以前的版本中是不可能的.如果您使用的是.NET 4.0,则可以执行以下操作:
public override object ProvideValue(IServiceProvider serviceProvider)
{
var rootObjectProvider = serviceProvider.GetService(typeof(IRootObjectProvider)) as IRootObjectProvider;
var root = rootObjectProvider.RootObject;
// do whatever you need to do here
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1948 次 |
| 最近记录: |