Jestem doświadczonym programistą C ++ / Qt, ale początkującym programistą C # / WPF i zastanawiam się, czy coś mi brakuje z projektantem WPF programu Visual Studio 2010.
W Qt wszystkie widżety mają element nadrzędny. Uważam tę koncepcję za bardzo przydatną zarówno przy programowym tworzeniu GUI, jak i projektantowi. Z tego, co pamiętam z Qt desginer (niestety moja nowa firma nie obsługuje Qt), możesz łatwo przeciągać widżety i są one ponownie rodzicielskie poprawnie. Jeśli projektant się pomylił, możesz po prostu zresetować rodzica na cokolwiek potrzebne w polu właściwości. Uważam, że analogiczne pomysły w WPF są trudne do wykonania.
Podczas przeciągania w programie Visual Studio DesignerWidżety dookoła, tylko czasami mają odpowiedniego rodzica. Częściej niż nie, muszę iść do xaml i wyciąć i wkleić widżet, który pisałem w innej części xaml, aby uzyskać odpowiedni rodzic. Rozumiem, że drzewo DOM Xaml ładnie przypomina drzewo nadrzędne widgetu, ale stwierdziłem, że było to bardziej wyraźne w Qt.
Więc moje pytanie brzmi: czy to podejście typu „wklej i wklej” do ponownego rodzicielstwa w WPF xaml jest najlepsze, co możesz zrobić, czy są jakieś fajne wskazówki projektantów, których mi brakuje?
Uwaga: to pytanie oczywiście nie ma zastosowania przy programowym tworzeniu GUI.
Odpowiedzi:
1 dla odpowiedzi № 1Z mojego doświadczenia wynika, że sprowadza się to do brakówprojektant w VS2010. Osobiście używam projektanta WPF jako widoku, jak będzie wyglądać GUI, a następnie ręcznie koduję większość mojej XAML. Prawie nigdy tak naprawdę NIE robię nic w projektancie, na przykład przeciągam element lub coś takiego.
Aby odpowiedzieć na twoje pytanie, wspomniane przez ciebie podejście „wklej i wklej” w xaml jest moim zdaniem najbardziej efektywnym sposobem na „ponowne rodzicielstwo” elementów.