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 😃