Czy mogę oddzielić okienko projektu od okienka XAML w programie Visual Studio?

83

Czy można oddzielić projektowane przeze mnie okno WPF od jego kodu XAML? Dwukrotne kliknięcie dowolnego pliku XAML spowoduje jego otwarcie i wyświetlenie zarówno kodu XAML, jak i okna WPF w jednym oknie, dzieląc je w poziomie lub w pionie, ale nadal oba znajdują się w jednym oknie. Mam 4 monitory, a kod XAML, który piszę, ma długie wiersze, więc chciałbym edytować kod XAML na jednym monitorze i wyświetlać okno WPF na innym, ale dzielenie ich na dwa różne okna nie wydaje się możliwy.

Kilka kiepskich obejść, które mogę zrobić, ale mi się nie podoba, to:

  1. Oddokuj cały edytor XAML za pomocą projektanta, a następnie zmień rozmiar tego okna na dwóch monitorach, tak aby kod XAML znajdował się na jednym monitorze, a okno WPF na innym.
  2. Użyj polecenia „Otwórz za pomocą ...”, aby otworzyć drugi edytor tego samego dokumentu XAML, ale wówczas wyróżnianie kodu i podświetlanie okna WPF nie są synchronizowane.

Czy można więc je podzielić? A może masz lepsze obejście niż moje?

Zwykły koder
źródło
2
Ten post na blogu msdn (wskazówka 10) wydaje się sugerować, że dwa sposoby obejścia problemu, o których już wiesz, są oficjalnym rozwiązaniem. blogs.msdn.com/b/wpfsldesigner/archive/2010/06/30/…
Chris Petheram
14
To smutne, że po 4 latach nadal nie zaimplementowali tej funkcji. Konfiguracje z wieloma monitorami są powszechnie używane od co najmniej 10 lat.
Plain Coder
2
Od 6 lat zastanawiam się, czy coś się zmieniło
Ateik
1
@PlainCoder Bardziej jak 20 lat.
John Stock
1
2019 tutaj jesteśmy i nadal nie jest zaimplementowany: D
Zeta

Odpowiedzi:

79

Miałem ten sam problem, potem znalazłem sposób na rozdzielenie go w ten sposób,

  • Kliknij prawym przyciskiem myszy plik XAML w eksploratorze rozwiązań i wybierz Otwórz za pomocą ;
  • wybierz Edytor kodu źródłowego (tekstu) (zamiast edytora XML (tekst) ).

Spowoduje to utworzenie osobnej karty dla edytora źródła XAML, po prostu oddokuj go i utwórz nowe okno.

puttu
źródło
6
Czy przeczytałeś moje drugie obejście powyżej? Dokładnie to sugerujesz.
Plain Coder,
1
@PlainCoder, chcę tylko potwierdzić, że w VS2015 działa to świetnie i zgodnie z oczekiwaniami - z podświetleniami składni (nawet z podświetleniami ReSharper 10) iw pełni zsynchronizowane. Wydaje się, że teraz można bezpiecznie zaakceptować tę odpowiedź.
Siódmy
Mogę potwierdzić, że działa to również w VS2013, jak opisuje @Sevenate.
Kidiskidvogingogin
1
@Sevenate Moje Visual Studio 2015 nie działa zgodnie z oczekiwaniami i nie synchronizuje najważniejszych elementów składni.
Steve.NayLinAung
3
jest zsynchronizowany w tym sensie, że wprowadzasz zmianę, a drugie okno jest aktualizowane - ale niestety nie możesz kliknąć elementu, aby zobaczyć odpowiedni element lub kod w innym oknie :-(
Simon_Weaver
12

Kliknij przycisk podwójnej strzałki znajdujący się po prawej stronie kodu XML.

Kliknięcie jednej z tych opcji spowoduje rozdzielenie kodu XAML i projektu na dwa osobne okienka w tym samym oknie. Stamtąd można przełączać szyby.

Aby przywrócić pierwotną konfigurację, kliknij >>ponownie przycisk podwójnej strzałki .

Te opcje są wyróżnione poniżej:

Opcje przełączania XAML / Design

Vivek Kumar
źródło
3

Program Visual Studio 2017 ma nowy tryb „Edytuj i kontynuuj” dla języka XAML, który jest naprawdę niesamowity i dla mnie usunął potrzebę tej funkcji „dzielenia”.

https://blogs.msdn.microsoft.com/visualstudio/2016/04/06/ui-development-made-easier-with-xaml-edit-continue/

Możesz dosłownie wpisać kod XAML i natychmiast zaktualizować działającą aplikację - więc umieść ją na dowolnym ekranie.

Moje edytowanie w Visual Studio dla XAML stało się bardzo powolne, a aktualizacje są teraz natychmiastowe i odbywają się w aktualnie uruchomionej aplikacji - znacznie przyspieszą programowanie.

Simon_Weaver
źródło
Nie jest to też kompletne rozwiązanie, ponieważ ludzie muszą kliknąć reprezentację interfejsu użytkownika i przejść do XAML.
j riv
Również edytuj i kontynuuj, ponieważ XAML nie obsługuje wszystkich zmian. Na przykład dołączenie Dictionary do MergedDictionary lub dodanie DataTemplates nie zawsze działa.
Mike de Klerk
Nie możesz też powiększyć
Ateik
0

Użyj wyskakującej opcji XAML obok Paneli projektu i XAML, co spowoduje wyskakiwanie edytora XAML do nowego okna, które można przenieść na inny ekran. Podświetlenia elementów nie będą działać, ale zmiany zostaną odzwierciedlone w locie.

Shivendra Bisht
źródło
-2

Jeśli masz dwa ekrany, podziel okno projektanta w pionie, odłącz okno od programu Visual Studio, a następnie zmień rozmiar okna, tak aby szerokość obejmowała dwa ekrany.

disklosr
źródło
To dokładnie jego pierwsza opcja
Ateik