Dans mon application, j'essaie de charger le code creux du module principal. Tout fonctionne jusqu'au rendu et je n'ai aucune idée de pourquoi il n'est pas rendu. Le contenu a les bonnes valeurs et tout .. Je suppose que quelque chose est allé wibbly bancal et il me semble être manquant.Module non rendu
de contrôle qui maintient la vue
[ContentPropertyAttribute("ContentView")]
public class ContentControlExtened : ContentControl
{
public static readonly DependencyProperty ContentProperty =
DependencyProperty.Register(
"Type",
typeof(Type),
typeof(ContentControl),
new FrameworkPropertyMetadata(null, ContentTypeChanged));
public static readonly DependencyProperty ContentViewProperty =
DependencyProperty.Register(
"View",
typeof(FrameworkElement),
typeof(ContentControl),
new FrameworkPropertyMetadata(null, ContentViewChanged));
private static void ContentViewChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
//throw new NotImplementedException();
}
public ContentControlExtened()
{
this.Loaded += ContentControlLoaded;
}
private void ContentControlLoaded(object sender, RoutedEventArgs e)
{
this.LoadContent();
}
private void LoadContent()
{
UserControl u = null;
if (Type != null)
{
u = (UserControl)ServiceLocator.Current.GetInstance(this.Type);
}
u.Background = new SolidColorBrush(Color.FromRgb(0, 0, 255));
this.View = u;
}
public Type Type
{
get { return (Type)GetValue(ContentProperty); }
set { SetValue(ContentProperty, value); }
}
public FrameworkElement View
{
get { return (FrameworkElement)GetValue(ContentProperty); }
set
{
SetValue(ContentProperty, value);
}
}
}
Procédé coque pour charger l'écran principal de la donnée ModuleInfo
private void OpenMainView(ModuleInfo module)
{
Type moduleType = Type.GetType(module.ModuleType);
var moduleMainViewType = moduleType.Assembly.GetType(moduleType.Namespace + ".Views.MainView");
this.ContentHolder.MainContent.Type = moduleMainViewType;
}
Le contructor du MainView est simple. Le contrôle standard InitializeComponent() et Datacontext sont en cours de définition dans le servicelocator.
'Getter' et' Setter' pour vous DP est manquant. –
Ils sont là n'ont pas pris la peine de les poster parce que ce n'est pas le problème :) –
Qu'est-ce que ContentType? Je suppose que quelque chose ne va pas avec vos DP. –