Laden...

WPF - BaseUserControl

Erstellt von trashkid2000 vor 8 Jahren Letzter Beitrag vor 8 Jahren 9.752 Views
T
trashkid2000 Themenstarter:in
156 Beiträge seit 2010
vor 8 Jahren
WPF - BaseUserControl

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 😃