Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
WPF - BaseUserControl
trashkid2000
myCSharp.de - Member



Dabei seit:
Beiträge: 157

Themenstarter:

WPF - BaseUserControl

beantworten | zitieren | melden

Liebe Alle,

ich möchte gerne mein endecktes Wissen weitergeben, deswegen poste ich hier mal.

Vor kurzem stand ich auf Arbeit vor der Aufgabenstellung, WPF - UserControls mit Hilfe von T4 zu generieren. Also für jede Sicht nur eine .xaml - Datei. Problem dabei ist, dass man für den Aufruf von "InitializeComponent();" ja auch immer eine partial .cs benötigt. Nartürlich wäre es möglich, wenn man schon beim generieren ist, für jedes Control auch die partial -cs mit zu generieren, aber wozu? Ein genereller Weg wäre solch ein BaseUserControl:


public class BaseUserControl : UserControl
{
   public BaseUserControl()
   {
      var iComponentConnector = this as IComponentConnector;
      if (iComponentConnector != null)
      {
          iComponentConnector.InitializeComponent();
      }
   }
}

Und die generiert xaml dazu würde dann z.B. so aussehen:

<local:BaseUserControl x:Class="WpfApplication11.TestUserControl"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
      xmlns:local="clr-namespace:WpfApplication11">

    <Grid>
        <TextBlock Text="Hallo"/>
    </Grid>
</local:BaseUserControl>

Das UserControl kann so problemlos im Designer angezeigt werden.

lG und viel Spaß beim Generieren :-)
private Nachricht | Beiträge des Benutzers