WPF oferuje bardzo dużo kontrolek. Są jednak takie, jak np.
MaskedTextBox których w WPF nie ma a Windows Forms są. Dzięki mechanizmowi umożliwiającemu używanie kontrolek Windows Forms w WPF, nie musimy ich implementować od nowa. Przyjrzyjmy się aspektom, wykorzystania okien i kontrolek Windows Forms w aplikacji WPF
Okna dialogowe
Okna
OpenFileDialog (Otwóz plik) oraz
SaveFileDialog (Zapisz plik) to najczęściej wykorzystywane okna dialogowe w aplikacjach. Aby użyć je w aplikacji WPF należy:
- Dodać referencję do DLL System.Windows.Forms
- W kodzie tworzymy obiekt klasy OpenFileDialog, lub SaveFileDialog
Inne kontrolki występujące w Windows Forms, możemy dodawać do aplikacji WPF poprzez komponent
WindowsFormsHost. Aby można było używać tego komponentu należy dodać referencję w XAML do DLL System.Windows.Forms.Integration. Następnie przeciągamy element
WindowsFormsHost, w którym możemy umieścić kontrolkę Windows Forms. Właściwości i zdarzenia ustawiamy tak samo jak dla kontrolek WPF-owych. Aby pobrać referencję do kontrolki należy skorzystać z właściwości
Child kontrolki
WindowsFormsHost:
Code:
<WindowsFormsHost Name="WindowsFormsHost">
<forms:MaskedTextBox Name="mtbTextBox1"></forms:MaskedTextBox>
</WindowsFormsHost>
Code:
var maskedTextBox = (MaskedTextBox) WindowsFormsHost.Child;
maskedTextBox.Mask = "00000";
Użycie kontrolek WPF w aplikacji Windows Forms
W aplikacji Windows Formst można użyć kontrolek z WPF dzięki kontrolce
ElementHost.
Jeżeli kontrolka jest częścią tworzonego projektu, można ją przypisać w designerze. Jeżeli nie należy ją przypisać w kodzie.
Brak komentarzy:
Prześlij komentarz