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?


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.


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


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.


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.


-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.


To dokładnie jego pierwsza opcja
Ateik
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.