Ben MEF Uzantıları ve MVVM desenli Prism 4 kullanıyorum Özellikleri. Bir modülde başlatma sırasında görünümü böyle inşa edilmiştir mükemmel çalışır RegisterViewWithRegion (RegionNames.MyRegion typeof (MyView)) çağırır:PRISM 4 - RegisterViewWithRegion & Özel İhracat
[Export]
[PartCreationPolicy(CreationPolicy.NonShared)]
public partial class MyView : UserControl
{
public MyView()
{
....
görünümü kayıtlı ve her şey gayet iyi olur. İhracatı Özel Dışarı Aktarım Özelliği'ne değiştirir değiştirmez, görünüm yine de bulunamaz, ancak yine de kapsayıcıdadır. Bu Özel İhracat Özellik Stok Trader RI alınır:
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false)]
[MetadataAttribute]
public class ViewExportAttribute : ExportAttribute, IViewRegionRegistration
{
public ViewExportAttribute()
: base(typeof(object))
{ }
public ViewExportAttribute(string viewName)
: base(viewName, typeof(object))
{
ViewName = viewName;
}
public string RegionName { get; set; }
public string ViewName { get; set; }
}
ve arayüz RegisterViewWithRegion çağrılırken İhracat bunun bir hata atar
[ViewExport(ViewName = "MyView", RegionName = RegionNames.MyRegion)]
[PartCreationPolicy(CreationPolicy.NonShared)]
public partial class MyView : UserControl
{
public MyView()
{
....
için Özellik değiştirerek
public interface IViewRegionRegistration
{
string RegionName { get; }
string ViewName { get; }
}
olduğunu : MyView türünün örneğini almaya çalışırken etkinleştirme hatası oluştu, ""
Herhangi bir tavsiye? Bir çözüm bulamadan bütün gün bu kod bölümüne bakıyordum.
O gecenin ilerleyen saatlerinde ... Sonunda Özel İhraç Niteliğinde bu bölümle ilgili bir şey olduğunu öğrendim: ** base (typeof (object)) ** - ama hala RegisterViewWithRegion'u nasıl çözeceğine dair hiçbir bilgi yok. sorun ... – okieh