Hallo zusammen,
Ich möchte in meiner WPF Anwendung auf mehreren Pages ein Generisches Control verwenden:
namespace meineAnwendung.Controls
{
public class meinDataGrid<T> : Datagrid
{
//...
}
}
Wie kann ich dieses Control nun in XAML verwenden?
Habe folgenden Ansatz versucht:
<Page x:Class="meineAnwendung.Page1"
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="meineAnwendung.Controls"
xmlns:objects="meineAnwendung.Objects"
Titel="Meine Anwendung">
<local:meinDataGrid x:Name="dg" x:TypeArguments="objects:MeinObject" AutoGenerateColumns="True" />
</Page>
Im Namespace meineAnwendung.Controls sitzt das Objekt "MeinObject".
Wenn ich das ganze Compilieren will bekomme ich die Fehlermeldung:> Fehlermeldung:
Nur ein Stammtag kann Attribut "x:TypeArguments" angeben.
Das Stammtag wäre ja wohl das <Page> Tag, jedoch kann ich dort den Typ ebenfalls nicht angeben.
Danke für eure Hilfe
CyberHunter
Hallo,
Wie kann ich dieses Control nun in XAML verwenden? gar nicht. Für kompiliertes XAML wird nur die Version von 2006 in WPF unterstützt und die lässt generische Typen, so wie die Fehlermeldung es sagt, auf dem Rootelement zu (PageFunction wäre z.B. so eine generische WPF Klasse). Siehe dazu auch hier in der MSDN.
PS: In der Überschrift schreibst du zwar UserControl, was du aber eigentlich hast ist ein Custom Control. Das ist in WPF nen großer Unterschied.
Baka wa shinanakya naoranai.
Mein XING Profil.
Danke für deine Antwort, dann werde ich mir wohl was einfallen lassen müssen.