Ich wickle Windows Form Legacy-Steuerelement in WPF-Steuerelement, mache ich dies für ein paar Windows Form-Steuerelemente. dh:Wie WinFormHost Objekt dynamisch festlegen?
// WinFormHost control, only AWrapper is shown here, but there
//are BWrapper, CWrapper etc
public class AWrapper : WindowsFormsHost
{
Child=new ALegacyWinFormControl();
}
//WPF control, similarly there are BControl, CControl etc
<UserControl x:Class="AControl">
<local:AWrapper />
</UserControl>
In meinem ResourceDictionary
ich, die einen Schlüssel für jede WPF-Steuerelemente
// each WPF control has a key
<ResourceDictionary>
<DataTemplate x:Key="AControlKey">
<AControl />
</DataTemplate>
<DataTemplate x:Key="BControlKey">
<BControl />
</DataTemplate>
</ResourceDictionary>
Es gibt eine Schicht von Doppelarbeit, die ich eliminate-- möchte ich jedes WPF-Steuerelement definieren müssen für jeder WindowsFormsHost
Wrapper, der redundant ist. Gibt es auf jeden Fall, dass ich mit dem UserControl
Objekt beseitigen kann, und verbinden Sie die DataTemplate
gerade mit der WindowsFormsHost
Steuerung? ie:
// This wouldn't work
<ResourceDictionary>
<DataTemplate x:Key="AControlKey">
<AWrapper/>
</DataTemplate>
<DataTemplate x:Key="BControlKey">
<BWrapper/>
</DataTemplate>
</ResourceDictionary>
Aber das oben genannte scheint nicht zu funktionieren. Wie auch immer, um die obige Arbeit zu machen? Ist es überhaupt möglich?
Edit:
@dymanoid, oh ja. Ich habe die Frage aktualisiert – Graviton