72 najpopularniejszych pytań i odpowiedzi do wywiadów w WPF (2025)

Oto pytania i odpowiedzi dotyczące rozmów kwalifikacyjnych WPF dla nowicjuszy i doświadczonych kandydatów, którzy chcą zdobyć wymarzoną pracę.


1. Co to jest WPF?

WPF to najnowszy interfejs API prezentacji systemu Microsoft Windows. Jest to silnik graficzny 2D i 3D. Jego możliwości obejmują: -

  • Wszystkie typowe elementy sterujące użytkownika. Na przykład pola wyboru, przyciski, suwaki itp.
  • Obsługuje dokumenty w formacie przepływu i stałego formatu
  • cała funkcjonalność Flasha i HTML
  • Wiązanie danych
  • multimedialny
  • Animacja

Bezpłatne pobieranie pliku PDF: pytania i odpowiedzi dotyczące wywiadu WPF


2. Jakie typy dokumentów obsługuje WPF?

Dwa typy dokumentów obsługiwanych przez Windows Prezentacja Foundation (WPF) to dokument w formacie Flow i dokument w stałym formacie. Dokument w formacie przepływowym zmienia treść w celu dopasowania do rozmiaru ekranu, podczas gdy dokument w formacie stałym zawiera treść niezależnie od rozmiaru ekranu.


3. Nazwij przestrzeń nazw wymaganą do pracy z 3D.

Przestrzeń nazw wymagana do pracy w 3D to System.Windows.Media.Medi3D.


4. Czy słuszne jest stwierdzenie, że WPF zastąpił DirectX?

Nie, WPF nigdy nie zastąpi DirectX. WPF nie można używać do tworzenia gier z oszałamiającą grafiką. WPF ma zastąpić formularz Windows, a nie DirectX.


5. Jakie są właściwości zależności?

Właściwości należące do określonej klasy, ale mogą być użyte w innej, nazywane są właściwościami zależności.

Pytania do wywiadu WPF
Pytania do wywiadu WPF

6. Jak można proporcjonalnie zwiększyć rozmiar paska StatusBar?

Zastępując atrybut ItemsPanel elementu StatusBar siatką. Kolumny siatki można odpowiednio skonfigurować, aby uzyskać pożądany efekt.


7. Czym są obiekty Freezable w WPF?

Obiekt, którego stan jest zablokowany tak, że staje się niezmienny, nazywany jest obiektem zamrażalnym. Takie obiekty działają lepiej. Jest to również bezpieczniejsze, jeśli wymagane jest ich współdzielenie między wątkami.


8. Dlaczego WPF powinien być preferowany zamiast Adobe Flash?

WPF jest nowszą technologią i dlatego posiada najnowsze narzędzia programistyczne. Obsługuje szerszą gamę języków programowania i ma solidne możliwości ponownego wykorzystania kontroli.


9. Czym Silverlight różni się od aplikacji przeglądarkowej WPF?

Jedną z głównych różnic jest to, że do uruchamiania aplikacji przeglądarki WPF na komputerze klienckim wymagana jest platforma .NET. Ale Silverlight działa tylko przy użyciu wtyczki. Kolejną różnicą jest to, że aplikacje utworzone w WPF zależą od OS ponieważ .NET Framework działa tylko w systemie Windows. Z drugiej strony wtyczkę Silverlight można zainstalować także na systemach operacyjnych innych niż Windows.


10. Nazwij metody obecne w obiekcie DepencyObject.

Ma trzy obiekty, a mianowicie:

  • Ustalić wartość
  • Wyczyść wartość
  • Pobierz wartość

11. Napisz o PRISM.

PRISM to framework do tworzenia złożonych aplikacji dla WPF, Silverlight czy Windows Phone. PRISM wykorzystuje MVVM, IC, wzorce poleceń, DI i separację problemów, aby uzyskać luźne połączenie.


12. Czy w aplikacji WPF można używać Windows Forms?

Tak, formularz Windows może być używany w WPF. Formularz systemu Windows może być wyświetlany jako wyskakujący komunikat WPF. Kontrolki tego formularza okna można umieścić obok kontrolek WPF na stronie WPF, korzystając z funkcji preinstalowanej kontrolki WindowsFormsHost.

Fundacja prezentacji systemu Windows (WPF)
Fundacja prezentacji systemu Windows (WPF)

13. Opisz krótko CustomControl.

CustomControl poszerza funkcje istniejących kontroli. Składa się z domyślnego stylu w Themes/Generic.xaml i pliku kodu. Jest to najlepszy sposób na utworzenie biblioteki sterującej, która może być również stylizowana lub szablonowana.


14. Wymień popularne zestawy używane w WPF?

  • PrezentacjaFundacja
  • Baza systemu Windows
  • Rdzeń prezentacji

15. Zdefiniuj animacje ścieżki w WPF

Animacja ścieżki to rodzaj animacji, w którym animowany obiekt podąża ścieżką wyznaczoną przez geometrię ścieżki.


16. Czy aplikacje WPF można tworzyć bez XAML?

Tak, aplikacje WPF można tworzyć bez XAML, ponieważ używanie XAML w WPF jest kwestią wyboru.


17. Jakie są typy okien w WPF?

WPF ma trzy typy okien:

  • Normalne okno
  • Okno strony
  • Nawiguj w oknie

18. Jak można sortować elementy w ListBoxie?

Sortowanie można wykonać przy użyciu właściwości obiektu ItemsCollection. ItemsCollection zawiera atrybut SortDescriptions, który przechowuje instancje System.ComponentModel.SortDescription. Każda instancja SortDescription definiuje sposób sortowania elementów i wskazuje, czy sortowanie jest malejące czy rosnące.

Na przykład ten kod sortuje elementy ContentControl na podstawie ich właściwości liczby słów:

myItemsControl.Items.SortDescriptions.Add(new SortDescription("WordCount", ListSortDirection.Descending));

19. Czym różni się MVVM od MVC?

MVC oznacza kontroler widoku modelu, a MVVM oznacza model widoku widoku modelu.

W MVVM zamiast kontrolera używany jest model widoku. Ten model widoku znajduje się pod warstwą interfejsu użytkownika. Ujawnia obiekty poleceń i dane wymagane przez widok. Działa jak obiekt kontenerowy, z którego widok pobiera swoje działania i dane.


20. Wyjaśnij zdarzenia kierowane w WPF.

Zdarzenie, które może wywołać procedury obsługi na więcej niż jednym słuchaczu obecnym w drzewie elementów, zamiast pojedynczego obiektu, który wywołał zdarzenie, jest znane jako zdarzenie trasowane.


21. W jaki sposób dll System.Windows.Media.Visual jest wykorzystywany w WPF?

Stosuje się go zawsze, gdy pojawia się potrzeba stworzenia własnego interfejsu użytkownika. Jest to obiekt do rysowania, który zawiera instrukcje dotyczące tworzenia obiektu. Instrukcje te obejmują nieprzezroczystość itp. rysunku. Klasa Visual łączy także funkcje klas zarządzanych przez WPF i biblioteki MilCore.dll.


22. Jakie są różne panele układu w WPF?

Są to:

  • Panel stosu
  • Panel siatki
  • Panel płócienny
  • Panel dokujący
  • Zawiń panel

23. Nazwij ważne podsystemy w WPF

Główne podsystemy to:

  • Sterowanie.Windows.Kontrola
  • Obiekt zależności Windows
  • Element Windows.FrameworkElement
  • Windows.Media.Visuals
  • przedmiot
  • Threading.DispatcherObject
  • Windows.UIElements

24. Co oznacza BAML w WPF?

BAML to skrót od Binary Application Markup Language. To nic innego jak XAML, który został tokenizowany, analizowany i zamieniany na formę binarną. BAML to skompresowany język deklaratywny, który jest ładowany i analizowany szybciej niż XAML.


25. Jaka jest różnica pomiędzy kontrolkami strony i okna w WPF?

Podstawowa różnica polega na tym, że Kontrola okna zarządza aplikacją Windows, podczas gdy Kontrola strony zarządza hostowanymi aplikacjami przeglądarki. Ponadto kontrolka okna może zawierać kontrolę strony, ale sytuacja odwrotna nie może mieć miejsca.


26. Jakie są dołączone właściwości w WPF?

Dołączone właściwości to w zasadzie właściwości zależności, które umożliwiają dołączenie wartości do dowolnego losowego obiektu.


27. Co to jest interfejs INotifyPropertyChanged?

InotifyPropertyChanged powiadamia klientów, zazwyczaj tych, którzy są wiążący, jeśli wartość właściwości ulegnie zmianie. Posiada zdarzenie o nazwie PropertyChanged, które jest wywoływane za każdym razem, gdy zmieniana jest właściwość obiektu Model.


28. Jaka jest podstawowa różnica pomiędzy zdarzeniami i poleceniami w modelu MVVM?

Polecenia mają większą moc i lepiej jest ich używać zamiast zdarzeń. Akcje są głęboko powiązane ze źródłem zdarzenia i dlatego nie można ich łatwo ponownie wykorzystać. Jednak polecenia umożliwiają efektywne utrzymywanie wielu akcji w jednym miejscu, a następnie ponowne ich wykorzystanie zgodnie z naszymi wymaganiami.


29. Jaka jest metoda wymuszenia zamknięcia aktualnie widocznej podpowiedzi?

Można go zamknąć, ustawiając właściwość IsOpen podpowiedzi na wartość false.


30. Napisz różnice pomiędzy DynamicResource i StaticResource.

Najbardziej podstawowa różnica polega na tym, że StaticResource ocenia zasób tylko raz, natomiast DynamicResource ocenia go za każdym razem, gdy zasób jest wymagany. Z tego powodu DyanamicResource obciąża system, ale powoduje szybsze ładowanie stron i okien


31. Wyjaśnij wzorzec MVVM.

Wzorzec MVVM dzieli kod interfejsu użytkownika na 3 podstawowe części:

  • Model - Reprezentuje zbiór klas, które zawierają dane otrzymane z baz danych.
  • Widok - Jest to kod zgodny z wizualną reprezentacją danych.
  • ZobaczModel – Jest to warstwa, która łączy widok i model. Przedstawia te dane w sposób łatwy do zrozumienia. Kontroluje także sposób interakcji View z aplikacją.

32. Dlaczego w WPF potrzebne są panele układu?

Panele układu są potrzebne, aby elementy sterujące pasowały do ​​ekranów o różnych rozmiarach lub mających różne rozmiary czcionek. Jeśli umieścimy sterowanie na stałych współrzędnych pikseli, to model ten zawiedzie po przeniesieniu do innego środowiska. Z tego powodu niezbędne są panele Layout.


33. Napisz krótko o UserControl.

UserControl otacza istniejące kontrolki w jedną grupę wielokrotnego użytku. Zawiera plik XAML i kod. UserControl nie można stylizować ani szablonować.


34. Jaki jest sposób sprawdzenia, czy obiekt Freezable jest zamrożony?

Właściwość obiektu „IsFrozen” może zostać wykorzystana do określenia, czy obiekt, który można zamrozić, jest zamrożony.


35. Jaka jest jednostka miary w WPF?

Wszystkie pomiary są dokonywane w pikselach niezależnych od urządzenia lub pikselach logicznych. Jeden piksel to 1/96 części cala. Te logiczne piksele są zawsze określane jako podwójne, dzięki czemu mogą mieć również wartość ułamkową.


36. Kim jest zdobnik?

Są specjalnym rodzajem FrameworkElement, który dostarcza użytkownikowi wizualnych wskazówek. Służą także do dodawania uchwytów do elementów i przekazywania informacji o stanie kontrolki. Ozdobniki są powiązane z UIElement i są renderowane na powierzchni znajdującej się nad zdobionym elementem. Ta powierzchnia nazywa się AdornerLayer. Ozdoby umieszczane są najczęściej względem obramowanego elementu.


37. Wyjaśnij serializację?

Jest to proces konwersji stanu obiektu na strumień bajtów.


38. Czy WPF obsługuje MDI?

MDI nie jest obsługiwane w WPF. UserControl można wykorzystać do zapewnienia tej samej funkcjonalności co MDI.


39. Co to jest XBAP?

XBAP to skrócona forma aplikacji przeglądarki XAML. Umożliwia uruchamianie aplikacji WPF w przeglądarkach internetowych. Instalacja środowiska .NET na komputerze klienckim jest warunkiem wstępnym uruchomienia aplikacji WPF. Jednak aplikacje hostowane nie mają pełnego dostępu do komputera klienta i są uruchamiane w środowisku piaskownicy. Za pomocą WPF można także tworzyć takie aplikacje, które działają bezpośrednio w przeglądarce. Aplikacje te nazywane są XBAP.


40. W jakim sensie WPF i Silverlight są podobne?

Silverlight i WPF są podobne w tym sensie, że oba używają XAML i mają ten sam kod, składnię i biblioteki.


41. Jak wyświetlić etykietkę narzędzia po najechaniu myszką na wyłączony element?

W tym celu można wykorzystać właściwość ShowOnDisabled. Należy do klasy ToolTipService.


42. Jak sprawić, by ListBox działał płynnie?

ListBox jest domyślnie skonfigurowany do przewijania element po elemencie. Zależy to od wysokości każdego elementu i czynności przewijania, co daje wrażenie szorstkości. Lepszym sposobem jest skonfigurowanie akcji przewijania tak, aby przesuwała elementy o kilka pikseli niezależnie od ich wysokości. Odbywa się to poprzez ustawienie właściwości ScrollViewer.CanContentScroll na „false”. Spowoduje to jednak, że ListBox utraci właściwość wirtualizacji.


43. Gdzie rozpoczyna się wykonanie w aplikacji WPF?

Aplikacje WPF utworzone w programie Visual Studio działają bez metody Main. Dzieje się tak dlatego, że aplikacje są kompilowane z języka XAML w specjalnych przypadkach. Oznacza to, że Visual Studio dołącza akcję kompilacji ApplicationDefinition do pliku XAML. Powoduje to automatyczne generowanie metody Main.


44. Czy usługę Windows można utworzyć przy użyciu WPF?

Nie, usług systemu Windows nie można utworzyć przy użyciu WPF. WPF jest językiem prezentacji. Usługi systemu Windows wymagają określonych uprawnień, aby wykonywać niektóre funkcje związane z GUI. Dlatego jeśli nie uzyska wymaganych uprawnień, wyświetli błędy.


45. Jakie są różne rodzaje zdarzeń kierowanych w WPF?

Istnieją trzy typy zdarzeń kierowanych w WPF. Oni są:

  • Bezpośredni - Zdarzenie to może wywołać jedynie element, w którym powstało.
  • Tunelowanie – Zdarzenie to jest najpierw wywoływane przez element, w którym powstało, a następnie jest wywoływane przez każdy kolejny kontener w drzewie wizualnym.
  • Bąbelkowanie – Zdarzenie to jest najpierw wywoływane przez najwyższy kontener w drzewie wizualnym, a następnie jest wywoływane przez każdy kolejny kontener leżący poniżej najwyższego, aż dotrze do elementu, w którym powstało.

46. ​​Dlaczego lepiej zawijać elementy w ComboBoxItem?

Ma kilka ważnych właściwości, takich jak IsSelected i IsHighlighted, a także kilka niezbędnych zdarzeń, takich jak Selected i Unselected. ComboBoxItem to kontrola zawartości i dlatego jest bardzo przydatna do dodawania prostych ciągów do ComboBox.


47. Jak uzyskać identyfikatory automatyzacji elementów w ItemsControl?

Najlepszym sposobem na to jest ustawienie właściwości Name, ponieważ domyślnie jest ona wykorzystywana do celów automatyzacji. Jeśli jednak chcesz nadać elementowi identyfikator inny niż jego nazwa, wówczas właściwość AutomationProperties.AutomationID można ustawić zgodnie z potrzebami.


48. W jaki sposób można pobrać argumenty wiersza poleceń w aplikacji WPF?

Najbardziej preferowaną metodą jest wywołanie System.Environment.GetCommandLineArgs w dowolnym losowym miejscu aplikacji.


49. Podaj nazwy zajęć, które zawierają dowolną treść.

Kontrola treści

Kontrola treści z nagłówkiem

Kontrola przedmiotów

Kontrola elementów nagłówkowych


50. Która przestrzeń nazw ma elementy sterujące „Wyskakujące okienko” i „Kciuk”?

Przestrzeń nazw system.windows.controls.primitives zawiera kontrolki „Popup” i „Thumb”.


51. Wyjaśnij, czym jest XAML? Jaka jest różnica między XML i XAML-a?

XAML to skrót od eXtensible Application Markup Language. Jest to język używany do tworzenia instancji obiektów .NET. Jest to język opracowany przez Microsoft napisać interfejs użytkownika dla aplikacji nowej generacji.

XML jest przeznaczony do przechowywania danych lub pracy z przechowywanymi danymi, podczas gdy XAML jest rozszerzoną wersją XML używaną w programowaniu .NET.


52. Wspomnij o zaletach używania XAML?

Zaletą używania XAML jest

  • Kod XAML jest czytelny i krótki
  • Oddzielenie kodu projektanta od logiki
  • Narzędzia takie jak mieszanka wyrażeń używane do projektowania graficznego wymagają XAML jako źródła
  • Wyraźnie oddziela role projektanta i programisty

53. Jak kodować, aby wyświetlić „Hello World” w XAML?

Wyświetlanie „Hello World”.

<page xmlns= '' ''>

<TextBlock>

Hello, World!

</TextBlock>

</Page>

54. Jak w XAML określa się komponenty graficzne?

W XAML komponenty graficzne są określane za pomocą otwartych lub zamkniętych znaczników z atrybutami.

Na przykład,

  • Etykieta z zawartością

Kliknij

  • Etykieta bez zawartości

<Przycisk/>


55. Jaka jest składnia atrybutów w XAML?

W języku XAML składnia atrybutu ustawia wartość właściwości lub nazywa procedurę obsługi zdarzenia poprzez deklarację atrybutu w elemencie. Wartość atrybutu powinna być ujęta w dwa cudzysłowy („).

Na przykład,

< Button Background = "Black" Foreground "Red" Content = "This is an operating button"/>

XAML


56. Wyjaśnij właściwości treści XAML?

XAML reprezentuje funkcję języka, dzięki której klasa może przydzielić dokładnie jedną ze swoich właściwości jako właściwość XAML


57. Wyjaśnij, czym jest rozszerzenie znaczników w XAML?

Rozszerzenia znaczników to symbole zastępcze w języku XAML używane do rozpoznawania właściwości w czasie wykonywania. Rozszerzenie znaczników umożliwia rozszerzenie języka XAML i przy użyciu składni atrybutów można także ustawić dowolną właściwość, którą można ustawić w języku XAML. Celem rozszerzenia znaczników jest przetworzenie ciągu znaków i zwrócenie obiektu. Niektóre ze standardowych rozszerzeń znaczników to xNull, x: Szyk, :StaticResource i DynamicResource.


58. Jakie są cztery ogólne rodzaje elementów XAML?

Cztery ogólne rodzaje elementów XAML to:

  • Elementy korzeniowe
  • Elementy panelu
  • Elementy sterujące
  • Elementy geometryczne

59. Co oznacza prefiks X: w XAML?

Prefiks X: służy do mapowania przestrzeni nazw XAML w szablonach.


60. Jakie są różne przedrostki X: używane w języku XAML?

  • x: Klucz à Ustawia unikalny klucz dla każdego zasobu w słowniku zasobów
  • x: Classà Określa przestrzeń nazw CLR (Common Language Runtime) i nazwę klasy dla klasy dostarczającej kod
  • x: Nazwa à Określa nazwę obiektu wykonawczego dla instancji, która istnieje w kodzie wykonawczym po przetworzeniu elementu obiektu
  • x: Statyczny — umożliwia odwołanie zwracające wartość statyczną, która w przeciwnym razie byłaby właściwością zgodną z XAML
  • x: Typ à Konstruuje odwołanie do typu w oparciu o nazwę typu

61. Jak ustawić atrybut właściwości jako ciąg znaków, a nie rozszerzenie znaczników?

Aby uniknąć przedłużenia znaczników, musisz użyć pustej pary nawiasów klamrowych, takich jak

Treść = „{} {To nie jest rozszerzenie znaczników}”/>


62. Jakie typy dzieci może mieć element obiektowy w XAML?

Element obiektowy może mieć trzy typy dzieci

  • Elementy kolekcji
  • Wartość właściwości content
  • Wartość, która może zostać przekonwertowana na element obiektu

63. Wyjaśnij, co to jest konwerter typów?

Konwerter typów jest pomocny w konwersji ciągu znaków na odpowiedni typ wartości, gdy nie jest używane rozszerzenie znaczników. Konwerter typów definiuje cztery elementy do konwersji na ciąg znaków i z niego na potrzeby języka XAML.

  • Możnakonwertować na
  • Możnakonwertować z
  • Konwertuj na
  • Konwertuj z

64. Wyjaśnij składnię elementu obiektu w XAML?

Aby utworzyć instancję klasy lub struktury CLR poprzez deklarację elementu XML, używana jest składnia znaczników XAML. Składnia ta nazywana jest składnią elementu obiektu.


65. W jaki sposób można deklarować obiekty w XAML?

Aby zadeklarować obiekty w języku XAML, istnieją trzy sposoby

  • Bezpośrednio, używając składni elementu obiektu: Ta składnia służy do deklarowania obiektów głównych lub obiektów zagnieżdżonych, które ustawiają wartości właściwości
  • Pośrednio, używając składni atrybutów: W tej składni używana jest wbudowana wartość ciągu, która zawiera instrukcję dotyczącą tworzenia obiektu. Aby ustawić wartość właściwości na nowo utworzone odwołanie, analizator XAML używa tego ciągu
  • Korzystanie z rozszerzenia znaczników

66. Co powinien zawierać element główny dokumentu XAML?

W dokumencie XAML element główny składa się tylko z niektórych elementów, a tymi elementami są okno, płótno lub panele.


67. Co wiąże dane z XAML?

Wiązanie danych zapewnia prosty sposób wyświetlania danych i interakcji z nimi. Przykład pokaże, jak można wykonać wiązanie danych w XAML. Wiązanie w XAML odbywa się za pomocą składni {binding….}.


68. Wyjaśnij, w jaki sposób można wyświetlać różne dane w czasie wykonywania i w czasie projektowania?

  • Jednym ze sposobów wyświetlania danych w czasie wykonywania i projektowania jest zadeklarowanie danych w języku XAML
  • Innym sposobem jest zadeklarowanie go w XAML przy użyciu różnych atrybutów danych z przestrzeni nazw XML projektanta. Z prefiksem ad: ta przestrzeń nazw jest zazwyczaj deklarowana.

xmlns: d= http://schemas.microsoft.com/expression/blend/2008


69. Wyjaśnij, czym jest funkcja x: Dyrektywa klucza w XAML?

X: Klucz jednoznacznie identyfikuje elementy, które są tworzone i do których odwołuje się słownik zdefiniowany w języku XAML. Dodając wartość klucza x: do elementu obiektu XAML, można zidentyfikować zasób w słowniku zasobów, co jest najczęstszym sposobem identyfikacji.


70. Wyjaśnij, jakie jest zastosowanie składni elementu właściwości?

Za pomocą składni elementu właściwości można dodać element potomny o nazwie w postaci parent.propertyName.


71. Jak można zdefiniować niestandardowe klasy używane w XAML?

Klasy niestandardowe są używane na dwa sposoby

  • Z kodem tworzącym aplikację Podstawowe Windows Prezentacja Foundation (WPF) lub w kodzie znajdującym się za nią
  • W oddzielnym zestawie jako klasa, na przykład plik wykonywalny lub biblioteka DLL używana jako biblioteka klas

72. Co to jest przestrzeń nazw Xaml?

Przestrzeń nazw można zdefiniować jako środowisko lub abstrakcyjny kontener używany do przechowywania logicznego grupowania unikalnych identyfikatorów lub symboli.

Te pytania podczas rozmowy kwalifikacyjnej pomogą również w Twoim życiu (ustach)

Udziały

Jeden komentarz

  1. Proszę ponownie sprawdzić definicję zdarzenia tunelu i bańki, wydaje się, że są zamienione.
    Daj mi znać, jeśli się mylę.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *