Tag: Pytanie – rozwiązanie

Pytanie – rozwiązanie [8] Podgląd źródła RSS

Przy okazji testów związanych ze standardem OData oraz WCF Data Services przyszło mi zmierzyć się z pewnym, jak się później okazało dość błachym problemem. Chodziło mianowicie o wyłączenie w przeglądarce internetowej przetworzonej zawartości RSS i udostepnienie jej w surowej formie.
Oto dane przetworzone przez przeglądarkę:

Jak widać, nie można z nich dowiedzieć się zbyt wiele. A oto format, który jest moim celem.

Aby to osiągnąć przenosimy się do opcji przeglądarki internetowej (w moim przypadku IE – wygodnie mi się z nią pracuje w kontekście debugowania aplikacji uruchamianych z Visual Studio), wybieramy zakładkę “Zawartość” (Content). Wybieramy konfigurację źródeł RSS w której odznaczamy opcję widoczną na rysunku poniżej.

Gotowe! Teraz można już korzystać z dobrodziejstw WCF Data Services i móc je swobodnie “podglądać” :)


Pytanie – rozwiązanie [7] – WP7 jak rozpoznać Theme

Aby aplikacje tworzone na platformie Windows Phone 7 dawały użytkownikowi jeszcze większy komfort korzystania warto dostosować UI do aktualnych ustawień telefonu. Możemy to osiągnąć między innymi rozpoznając wybrany przez niego motyw (theme).  W tym celu korzystamy z prostego enuma oraz metody widocznej na poniższym listingu

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public enum Theme
{
	Light,
	Dark
}
 
public static Theme PhoneTheme
{
	get
	{
		if (Application.Current.Resources["PhoneBackgroundColor"].ToString() == "#FF000000")
			return Theme.Dark;
		else
			return Theme.Light;
	}
}

Pytanie – rozwiązanie [6] – jak odwrócić string

Przy okazji przygotowywania testowego serwisu na 2nd Silesian Code Camp zastanawiałem się jak najwygodniej odwrócić łańcuch znaków (string). Poza oczywistym rozwiązaniem wykorzystującym odwracanie tablicy w pętli, w oko wpadł mi następujący kawałek kodu, który w przejrzysty sposób rozwiązuje to zadanie:

1
2
3
4
5
6
public string Reverse(string str)
{
	char[] charArray = str.ToCharArray(); 
	Array.Reverse(charArray);
	return new string(charArray);
}

Pytanie – rozwiązanie [5] Unable to launch asp.net development server because port is in use

Podczas pracy z Visual Studio i aplikacjami hostowanymi przez serwer www możemy natrafić na błąd o następującej treści:

Unable to launch asp.net development server because port is in use“.

Nie pomaga tu niestety modyfikacja portu we właściwościach projektu itp. Rozwiązaniem przyczyny na 90% jest fakt, że posiadasz zainstalowany pakiet antywirusowy ESET NOD, który to niestety blokuje możliwość uruchomienia wbudowanego w VS serwera.
Rozwiązanie problemu jest nastepujące: W opcjach przechodzimy do sekcji

PL:
Ustawienia zaawansowane => Antywirus i antyspyware => Ochrona dostępu do stron internetowych => Protokoły HTTP i HTTPS => Przeglądarki internetowe.

EN:
Advanced firewall setup => Antivirus & anti spyware => Web access protection => HTTP => Webbrowsers

Na liście odszukujemy Visual Studio i odznaczamy checkbox (nie chcemy aby filtrowanie było włączone). Po zapisaniu ustawień NOD’a możemy uruchomić debugowanie.

Jeżeli jesteś w pozostałych 10% – niestety musisz szukać dalej.


Pytanie – rozwiązanie [4] MVC – jak szybko przejść z widoku do kontrolera

Podczas pracy z projektem MVC i edycji widoku mamy czasem potrzebę szybko przenieść się do klasy kontrolera. Aby to zrobić wystarczy na oknie widoku otworzyć menu kontekstowe i wybrać opcję “Go To Controller” jak na poniższym obrazku.

Go To Controller


Pytanie – rozwiązanie [3] – znikająca solucja w Solution Explorer

Gdy w Visual Studio 2008 tworzymy nową solucję, w której skład wchodzi jeden projekt domyślnym zachowaniem VS jest ukrycie jej w Solution Explorerze. Czy jest to problem? Tak, gdy chcemy dodać do solucji kolejny projekt… Można to obejść dodając do pustej solucji “Solution Folder”, a następnie dodawać kolejne projekty. Istnieje jednak prostsze rozwiązanie. Wystarczy wejść do menu:

Tools -> Options -> Projects and Solutions i zaznaczyć opcję “Always show solution“.

Na szczęście problem ten nie dotyczy Visual Studio 2010, gdyż opcja ta jest domyślnie zaznaczona :)


Pytanie – rozwiązanie [2] WPF – przesuwanie okna z WindowState=None

W poprzednim poście z serii “Pytanie – rozwiązanie” pisałem jak można usunąć obramowanie i domyślny pasek okna. Niestety powoduje to pewien problem dotyczący przesuwania tak zdefiniowanego okna po ekranie. Szukając po sieci znalazłem rozwiązania sięgające do PInvoke i wysyłania sygnałów do okna. Całość niestety zajmowała ładnych kilkadziesiąt linii kodu. Okazuje się jednak, że jest rozwiązanie mieszczące się w dosłownie jednej linijce! Odpowiedź na pytanie “Jak przesuwać okno z ustawionym WindowState=None” składa się z trzech elementów:

a) Do okna dodajemy sobie element, który będzie odpowiedzialny za możliwość przesuwania okna
b) dodajemy do niego obsługę zdarzenia “MouseLeftButtonDown
c) we wnętrzu metody wpisujemy jedną linijkę:
DragMove();

Teraz bez najmniejszych problemów umożliwimy użytkownikowi manipulację naszym oknem nawet gdy nie ma ono górnego paska.


Pytanie – rozwiązanie [1] WPF – okno bez obramowania

Postanowiłem zacząć umieszczać na blogu krótkie posty na zasadzie pytania i rozwiązania, które napotykałem podczas pisania różnych projektów.

Na początek coś prostego, ale umknęło mi to z pamięci i musiałem przeszukać właściwości okna, bo coś kojarzyłem, ale nie pamiętałem nazwy :) Odpowiedź na pytanie “Jak usunąć obramowanie okna w WPF?”  jest następująca:

We właściwościach okna ustaw WindowState=None

Dlaczego takie coś robić? Przykładem może być aplikacja, która ma wyglądać inaczej niż standardowe okienko. Zamiast tła ma ustawiony obrazek z przezroczystością. Można dzięki temu uzyskać bardzo ciekawy design, jednakże bez ustawienia WindowState=None cały efekt będzie zepsuty przez domyślny pasek okna i jego obramowanie.


  • O mnie

    Maciej Grabek

    Moje profile na:

    MVP

    Codeguru.pl GoldenLine
    Twitter CodeProject

  • english version
  • Polecam

  • Copyright © Maciej Grabek. All rights reserved.
    Powered by WordPress
    %d bloggers like this: