<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Maciej Grabek &#187; Pytanie &#8211; rozwiązanie</title>
	<atom:link href="https://blog.maciejgrabek.com/tag/pytanie-rozwiazanie/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.maciejgrabek.com</link>
	<description>/* Make it See Sharp - Windows Phone, C#, .NET i nie tylko */</description>
	<lastBuildDate>Mon, 27 Oct 2014 11:18:40 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.38</generator>
	<item>
		<title>Pytanie &#8211; rozwiązanie [8] Podgląd źródła RSS</title>
		<link>https://blog.maciejgrabek.com/2011/06/11/pytanie-rozwiazanie-8-podglad-zrodla-rss/</link>
		<comments>https://blog.maciejgrabek.com/2011/06/11/pytanie-rozwiazanie-8-podglad-zrodla-rss/#comments</comments>
		<pubDate>Sat, 11 Jun 2011 07:20:22 +0000</pubDate>
		<dc:creator><![CDATA[maciek]]></dc:creator>
				<category><![CDATA[HOW TO]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[OData]]></category>
		<category><![CDATA[Pytanie - rozwiązanie]]></category>

		<guid isPermaLink="false">http://maciejgrabek.com/?p=10837</guid>
		<description><![CDATA[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 &#8211; wygodnie mi się z nią pracuje w kontekście debugowania aplikacji uruchamianych z Visual Studio), wybieramy zakładkę &#8220;Zawartość&#8221; (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 &#8220;podglądać&#8221;]]></description>
				<content:encoded><![CDATA[<p>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.<br />
Oto dane przetworzone przez przeglądarkę:<br />
<a href="http://maciejgrabek.com/wp-content/uploads/2011/06/preview.png" target="_blank"><img class="alignnone size-medium wp-image-10841" title="preview" src="http://maciejgrabek.com/wp-content/uploads/2011/06/preview-300x157.png" alt="" width="300" height="157" /></a></p>
<p>Jak widać, nie można z nich dowiedzieć się zbyt wiele. A oto format, który jest moim celem.<br />
<a href="http://maciejgrabek.com/wp-content/uploads/2011/06/rss_source.png" target="_blank"><img class="alignnone size-medium wp-image-10843" title="rss_source" src="http://maciejgrabek.com/wp-content/uploads/2011/06/rss_source-300x163.png" alt="" width="300" height="163" /></a><br />
Aby to osiągnąć przenosimy się do opcji przeglądarki internetowej (w moim przypadku IE &#8211; wygodnie mi się z nią pracuje w kontekście debugowania aplikacji uruchamianych z Visual Studio), wybieramy zakładkę &#8220;Zawartość&#8221; (Content). Wybieramy konfigurację źródeł RSS w której odznaczamy opcję widoczną na rysunku poniżej.<br />
<a href="http://maciejgrabek.com/wp-content/uploads/2011/06/settings.png" target="_blank"><img class="alignnone size-medium wp-image-10844" title="settings" src="http://maciejgrabek.com/wp-content/uploads/2011/06/settings-282x300.png" alt="" width="282" height="300" /></a></p>
<p>Gotowe! Teraz można już korzystać z dobrodziejstw WCF Data Services i móc je swobodnie &#8220;podglądać&#8221; <img src="https://blog.maciejgrabek.com/wp-includes/images/smilies/simple-smile.png" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
			<wfw:commentRss>https://blog.maciejgrabek.com/2011/06/11/pytanie-rozwiazanie-8-podglad-zrodla-rss/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pytanie &#8211; rozwiązanie [7] &#8211; WP7 jak rozpoznać Theme</title>
		<link>https://blog.maciejgrabek.com/2011/04/04/pytanie-rozwiazanie-7-wp7-jak-rozpoznac-theme/</link>
		<comments>https://blog.maciejgrabek.com/2011/04/04/pytanie-rozwiazanie-7-wp7-jak-rozpoznac-theme/#comments</comments>
		<pubDate>Mon, 04 Apr 2011 20:42:06 +0000</pubDate>
		<dc:creator><![CDATA[maciek]]></dc:creator>
				<category><![CDATA[Ciekawostki]]></category>
		<category><![CDATA[HOW TO]]></category>
		<category><![CDATA[Windows Phone]]></category>
		<category><![CDATA[Pytanie - rozwiązanie]]></category>

		<guid isPermaLink="false">http://maciejgrabek.com/?p=10783</guid>
		<description><![CDATA[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 &#123; Light, Dark &#125; &#160; public static Theme PhoneTheme &#123; get &#123; if &#40;Application.Current.Resources&#91;&#34;PhoneBackgroundColor&#34;&#93;.ToString&#40;&#41; == &#34;#FF000000&#34;&#41; return Theme.Dark; else return Theme.Light; &#125; &#125;]]></description>
				<content:encoded><![CDATA[<p>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</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">enum</span> Theme
<span style="color: #008000;">&#123;</span>
	Light,
	Dark
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #0600FF; font-weight: bold;">static</span> Theme PhoneTheme
<span style="color: #008000;">&#123;</span>
	<span style="color: #0600FF; font-weight: bold;">get</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>Application<span style="color: #008000;">.</span><span style="color: #0000FF;">Current</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Resources</span><span style="color: #008000;">&#91;</span><span style="color: #666666;">&quot;PhoneBackgroundColor&quot;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">==</span> <span style="color: #666666;">&quot;#FF000000&quot;</span><span style="color: #008000;">&#41;</span>
			<span style="color: #0600FF; font-weight: bold;">return</span> Theme<span style="color: #008000;">.</span><span style="color: #0000FF;">Dark</span><span style="color: #008000;">;</span>
		<span style="color: #0600FF; font-weight: bold;">else</span>
			<span style="color: #0600FF; font-weight: bold;">return</span> Theme<span style="color: #008000;">.</span><span style="color: #0000FF;">Light</span><span style="color: #008000;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>https://blog.maciejgrabek.com/2011/04/04/pytanie-rozwiazanie-7-wp7-jak-rozpoznac-theme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pytanie – rozwiązanie [6] &#8211; jak odwrócić string</title>
		<link>https://blog.maciejgrabek.com/2011/04/01/pytanie-rozwiazanie-6-jak-odwrocic-string/</link>
		<comments>https://blog.maciejgrabek.com/2011/04/01/pytanie-rozwiazanie-6-jak-odwrocic-string/#comments</comments>
		<pubDate>Fri, 01 Apr 2011 19:48:07 +0000</pubDate>
		<dc:creator><![CDATA[maciek]]></dc:creator>
				<category><![CDATA[Ciekawostki]]></category>
		<category><![CDATA[HOW TO]]></category>
		<category><![CDATA[Pytanie - rozwiązanie]]></category>

		<guid isPermaLink="false">http://maciejgrabek.com/?p=10775</guid>
		<description><![CDATA[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&#40;string str&#41; &#123; char&#91;&#93; charArray = str.ToCharArray&#40;&#41;; Array.Reverse&#40;charArray&#41;; return new string&#40;charArray&#41;; &#125;]]></description>
				<content:encoded><![CDATA[<p>Przy okazji przygotowywania testowego serwisu na <a href="http://scc.srgm.pl" target="_blank">2nd Silesian Code Camp</a> 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:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">string</span> Reverse<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span> str<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #6666cc; font-weight: bold;">char</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> charArray <span style="color: #008000;">=</span> str<span style="color: #008000;">.</span><span style="color: #0000FF;">ToCharArray</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span> 
	Array<span style="color: #008000;">.</span><span style="color: #0000FF;">Reverse</span><span style="color: #008000;">&#40;</span>charArray<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
	<span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #008000;">new</span> <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">&#40;</span>charArray<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>https://blog.maciejgrabek.com/2011/04/01/pytanie-rozwiazanie-6-jak-odwrocic-string/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Pytanie &#8211; rozwiązanie [5] Unable to launch asp.net development server because port is in use</title>
		<link>https://blog.maciejgrabek.com/2011/03/16/pytanie-rozwiazanie-5-unable-to-launch-asp-net-development-server-because-port-is-in-use/</link>
		<comments>https://blog.maciejgrabek.com/2011/03/16/pytanie-rozwiazanie-5-unable-to-launch-asp-net-development-server-because-port-is-in-use/#comments</comments>
		<pubDate>Wed, 16 Mar 2011 18:25:43 +0000</pubDate>
		<dc:creator><![CDATA[maciek]]></dc:creator>
				<category><![CDATA[Ciekawostki]]></category>
		<category><![CDATA[HOW TO]]></category>
		<category><![CDATA[Pytanie - rozwiązanie]]></category>

		<guid isPermaLink="false">http://maciejgrabek.com/?p=10705</guid>
		<description><![CDATA[Podczas pracy z Visual Studio i aplikacjami hostowanymi przez serwer www możemy natrafić na błąd o następującej treści: &#8220;Unable to launch asp.net development server because port is in use&#8220;. 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 =&#62; Antywirus i antyspyware =&#62; Ochrona dostępu do stron internetowych =&#62; Protokoły HTTP i HTTPS =&#62; Przeglądarki internetowe. EN: Advanced firewall setup =&#62; Antivirus &#38; anti spyware =&#62; Web access protection =&#62; HTTP =&#62; Webbrowsers Na liście odszukujemy Visual Studio i odznaczamy checkbox (nie chcemy aby filtrowanie było włączone). Po zapisaniu ustawień NOD&#8217;a możemy uruchomić debugowanie. Jeżeli jesteś w pozostałych 10% &#8211; niestety musisz szukać dalej.]]></description>
				<content:encoded><![CDATA[<p>Podczas pracy z Visual Studio i aplikacjami hostowanymi przez serwer www możemy natrafić na błąd o następującej treści:</p>
<p>&#8220;<em><strong>Unable to launch asp.net development server because port is in use</strong></em>&#8220;. </p>
<p>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 <strong>ESET NOD</strong>, który to niestety blokuje możliwość uruchomienia wbudowanego w VS serwera.<br />
Rozwiązanie problemu jest nastepujące: W opcjach przechodzimy do sekcji</p>
<p><strong>PL:</strong><br />
<em>Ustawienia zaawansowane</em> =&gt; <em>Antywirus i antyspyware</em> =&gt; <em>Ochrona dostępu do stron internetowych</em> =&gt; <em>Protokoły HTTP i HTTPS</em> =&gt; <em>Przeglądarki internetowe</em>.</p>
<p><strong>EN:</strong><br />
<em>Advanced firewall setup</em> =&gt; <em>Antivirus &amp; anti spyware</em> =&gt; <em>Web access protection</em> =&gt; <em>HTTP</em> =&gt; <em>Webbrowsers</em></p>
<p>Na liście odszukujemy Visual Studio i <strong>odznaczamy</strong> checkbox (nie chcemy aby filtrowanie było włączone). Po zapisaniu ustawień NOD&#8217;a możemy uruchomić debugowanie.</p>
<p>Jeżeli jesteś w pozostałych 10% &#8211; niestety musisz szukać dalej.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.maciejgrabek.com/2011/03/16/pytanie-rozwiazanie-5-unable-to-launch-asp-net-development-server-because-port-is-in-use/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pytanie &#8211; rozwiązanie [4] MVC &#8211; jak szybko przejść z widoku do kontrolera</title>
		<link>https://blog.maciejgrabek.com/2011/03/09/pytanie-rozwiazanie-4-mvc-jak-szybko-przejsc-z-widoku-do-kontrolera/</link>
		<comments>https://blog.maciejgrabek.com/2011/03/09/pytanie-rozwiazanie-4-mvc-jak-szybko-przejsc-z-widoku-do-kontrolera/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 16:17:43 +0000</pubDate>
		<dc:creator><![CDATA[maciek]]></dc:creator>
				<category><![CDATA[Ciekawostki]]></category>
		<category><![CDATA[HOW TO]]></category>
		<category><![CDATA[Pytanie - rozwiązanie]]></category>

		<guid isPermaLink="false">http://maciejgrabek.com/?p=10661</guid>
		<description><![CDATA[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ę &#8220;Go To Controller&#8221; jak na poniższym obrazku.]]></description>
				<content:encoded><![CDATA[<p>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ę &#8220;Go To Controller&#8221; jak na poniższym obrazku.</p>
<p><img class="alignnone size-full wp-image-10662" title="GoToController" src="http://maciejgrabek.com/wp-content/uploads/2011/03/GoToController.png" alt="Go To Controller" width="201" height="223" /></p>
]]></content:encoded>
			<wfw:commentRss>https://blog.maciejgrabek.com/2011/03/09/pytanie-rozwiazanie-4-mvc-jak-szybko-przejsc-z-widoku-do-kontrolera/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pytanie &#8211; rozwiązanie [3] &#8211; znikająca solucja w Solution Explorer</title>
		<link>https://blog.maciejgrabek.com/2011/03/07/pytanie-rozwiazanie-3-znikajaca-solucja-w-solution-explorer/</link>
		<comments>https://blog.maciejgrabek.com/2011/03/07/pytanie-rozwiazanie-3-znikajaca-solucja-w-solution-explorer/#comments</comments>
		<pubDate>Mon, 07 Mar 2011 18:22:52 +0000</pubDate>
		<dc:creator><![CDATA[maciek]]></dc:creator>
				<category><![CDATA[Ciekawostki]]></category>
		<category><![CDATA[HOW TO]]></category>
		<category><![CDATA[Pytanie - rozwiązanie]]></category>

		<guid isPermaLink="false">http://maciejgrabek.com/?p=10627</guid>
		<description><![CDATA[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&#8230; Można to obejść dodając do pustej solucji &#8220;Solution Folder&#8221;, a następnie dodawać kolejne projekty. Istnieje jednak prostsze rozwiązanie. Wystarczy wejść do menu: Tools -&#62; Options -&#62; Projects and Solutions i zaznaczyć opcję &#8220;Always show solution&#8220;. Na szczęście problem ten nie dotyczy Visual Studio 2010, gdyż opcja ta jest domyślnie zaznaczona]]></description>
				<content:encoded><![CDATA[<p>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&#8230; Można to obejść dodając do pustej solucji &#8220;Solution Folder&#8221;, a następnie dodawać kolejne projekty. Istnieje jednak prostsze rozwiązanie. Wystarczy wejść do menu:</p>
<p><strong>Tools -&gt; Options -&gt; Projects and Solutions</strong> i zaznaczyć opcję &#8220;<strong>Always show solution</strong>&#8220;.</p>
<p>Na szczęście problem ten nie dotyczy Visual Studio 2010, gdyż opcja ta jest domyślnie zaznaczona <img src="https://blog.maciejgrabek.com/wp-includes/images/smilies/simple-smile.png" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
			<wfw:commentRss>https://blog.maciejgrabek.com/2011/03/07/pytanie-rozwiazanie-3-znikajaca-solucja-w-solution-explorer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pytanie &#8211; rozwiązanie [2] WPF &#8211; przesuwanie okna z WindowState=None</title>
		<link>https://blog.maciejgrabek.com/2011/03/06/pytanie-rozwiazanie-2-wpf-przesuwanie-okna-z-windowstatenone/</link>
		<comments>https://blog.maciejgrabek.com/2011/03/06/pytanie-rozwiazanie-2-wpf-przesuwanie-okna-z-windowstatenone/#comments</comments>
		<pubDate>Sun, 06 Mar 2011 09:52:07 +0000</pubDate>
		<dc:creator><![CDATA[maciek]]></dc:creator>
				<category><![CDATA[Ciekawostki]]></category>
		<category><![CDATA[HOW TO]]></category>
		<category><![CDATA[Pytanie - rozwiązanie]]></category>

		<guid isPermaLink="false">http://maciejgrabek.com/?p=10618</guid>
		<description><![CDATA[W poprzednim poście z serii &#8220;Pytanie &#8211; rozwiązanie&#8221; 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 &#8220;Jak przesuwać okno z ustawionym WindowState=None&#8221; 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 &#8220;MouseLeftButtonDown&#8221; 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.]]></description>
				<content:encoded><![CDATA[<p>W poprzednim poście z serii &#8220;Pytanie &#8211; rozwiązanie&#8221; 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 &#8220;Jak przesuwać okno z ustawionym WindowState=None&#8221; składa się z trzech elementów:</p>
<p>a) Do okna dodajemy sobie element, który będzie odpowiedzialny za możliwość przesuwania okna<br />
b) dodajemy do niego obsługę zdarzenia &#8220;<strong>MouseLeftButtonDown</strong>&#8221;<br />
c) we wnętrzu metody wpisujemy jedną linijkę:<br />
<strong>DragMove();</strong></p>
<p>Teraz bez najmniejszych problemów umożliwimy użytkownikowi manipulację naszym oknem nawet gdy nie ma ono górnego paska.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.maciejgrabek.com/2011/03/06/pytanie-rozwiazanie-2-wpf-przesuwanie-okna-z-windowstatenone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pytanie &#8211; rozwiązanie [1] WPF &#8211; okno bez obramowania</title>
		<link>https://blog.maciejgrabek.com/2011/02/24/pytanie-rozwiazanie-1-wpf-okno-bez-obramowania/</link>
		<comments>https://blog.maciejgrabek.com/2011/02/24/pytanie-rozwiazanie-1-wpf-okno-bez-obramowania/#comments</comments>
		<pubDate>Thu, 24 Feb 2011 18:57:56 +0000</pubDate>
		<dc:creator><![CDATA[maciek]]></dc:creator>
				<category><![CDATA[Ciekawostki]]></category>
		<category><![CDATA[HOW TO]]></category>
		<category><![CDATA[Pytanie - rozwiązanie]]></category>

		<guid isPermaLink="false">http://maciejgrabek.com/?p=10600</guid>
		<description><![CDATA[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 &#8220;Jak usunąć obramowanie okna w WPF?&#8221;  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.]]></description>
				<content:encoded><![CDATA[<p>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.</p>
<p>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 <img src="https://blog.maciejgrabek.com/wp-includes/images/smilies/simple-smile.png" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Odpowiedź na pytanie &#8220;Jak usunąć obramowanie okna w WPF?&#8221;  jest następująca:</p>
<p>We właściwościach okna ustaw WindowState=None</p>
<p>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.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.maciejgrabek.com/2011/02/24/pytanie-rozwiazanie-1-wpf-okno-bez-obramowania/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
