Layout der WPF-Statuszeile

Standard

In meinem letzten Artikel habe ich gezeigt, wie man eine einfache Benutzeroberfläche für einen Texteditor mit WPF entwerfen kann. Aber die Statuszeile sieht noch nicht ganz so aus, wie sie soll.

Die Zeilen- und Spaltennummer, in der sich die Einfügemarke momentan befindet, soll ca. im rechten Drittel der Statuszeile angezeigt werden, auch wenn sich die Fenstergröße ändert.

Statuszeile klein

Statuszeile groß

Beim letzten Mal hatten wir die Statuszeile noch so definiert:

        ...
        <StatusBar DockPanel.Dock="Bottom">
            <TextBlock Text="Col 1, Ln 1" />
        </StatusBar>
        ...

Das sieht so aus:

Statuszeile Texteditor

Ein TextBlock-Element befindet sich in der Statuszeile, das links angezeigt wird. Doch wie bekommen wir den Text an die gewünschte Position?

Die StatusBar stellt ihre Steuerelemente normalerweise mit einem DockPanel dar. Allerdings werden alle Steuerelemente, die nicht vom Typ StatusBarItem sind, in einem StatusBarItem-Element eingehüllt, d.h. wir müssen selbst das StatusBarItem-Element angeben, damit wir die DockPanel-Eigenschaften definieren können.

        ...
        <StatusBar DockPanel.Dock="Bottom">
            <StatusBarItem DockPanel.Dock="Right">
                <TextBlock Text="Col 1, Ln 1" />
            </StatusBarItem>
            <StatusBarItem/>
        </StatusBar>
        ...

Statuszeile DockPanel

Der Text wird jetzt zwar rechts dargestellt, aber noch nicht genau dort, wo wir ihn haben wollen. Außerdem mussten wir ein leeres StatusBarItem-Element hinzufügen, das den Hauptteil der Statuszeile ausfüllen soll. Andernfalls würde das StatusBarItem-Element mit dem TextBlock nicht rechts dargestellt. Würden wir einen zweiten Text darstellen wollen, müssten wir es zum leeren StatusBarItem hinzufügen. Somit käme der linke Teil im XAML-Code vor dem rechten. Viel lieber hätten wir an dieser Stelle ein Grid, weil wir dann die Breite der Spalten selbst bestimmen können. Aber wie erreichen wir das?

Die StatusBar gehört wie ListBox, ListView, ComboBox, Menu und einigen anderen zu den sogenannten Items-Controls. Diese stellen ihre Subelemente in einem Panel dar, das durch die Eigenschaft ItemsPanel definiert wird. Normalerweise wird darin ein StackPanel definiert, aber StatusBar hat diese Eigenschaft überschrieben und durch ein DockPanel ersetzt, wie wir oben gesehen haben. Wir können dieser Eigenschaft ein Grid zuweisen und so zu dem gewünschten Ergebnis kommen. In XAML sieht das so aus:

        <StatusBar DockPanel.Dock="Bottom">
            <StatusBar.ItemsPanel>
                <ItemsPanelTemplate>
                    <Grid>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="*"/>
                        </Grid.RowDefinitions>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="2*"/>
                            <ColumnDefinition Width="1*"/>
                        </Grid.ColumnDefinitions>
                    </Grid>
                </ItemsPanelTemplate>
            </StatusBar.ItemsPanel>
            <StatusBarItem Grid.Column="1" Grid.Row="0">
                <TextBlock Text="Col 1, Ln 1" />
            </StatusBarItem>
        </StatusBar>

Die Eigenschaft bekommt ein ItemsPanelTemplate, in dem wir mit einem Grid ein Layoutgitter definieren, das aus einer Zeile und zwei Spalten besteht. Die Spalten teilen sich den verfügbaren Platz im Verhältnis 2:1 auf. Die rechte Spalte umfasst also das rechte Drittel der Statuszeile. Den TextBlock geben wir in das StatusBarItem, das wir der rechten Spalte zuweisen. Damit befindet sich der Text immer im rechten Drittel der Statuszeile.

Die WPF-Statuszeile kann auch andere Steuerelemente darstellen, z.B. Bilder, Fortschrittsbalken und viele andere mehr. Wenn man dann mehr Kontrolle über das Layout der Statuszeile braucht, kann das DockPanel jederzeit durch etwas anderes ersetzt werden.

962 thoughts on “Layout der WPF-Statuszeile

  1. I blog frequently and I seriously appreciate your content.
    This article has really peaked my interest. I am going to book mark your
    website and keep checking for new information about once per week.
    I subscribed to your RSS feed as well.

  2. F*ckin’ awesome things here. I’m very glad to see your article. Thanks a lot and i’m looking forward to contact you. Will you kindly drop me a mail?

  3. Wonderful beat ! I wish to apprentice while you amend your web site,
    how can i subscribe for a blog website? The account
    aided me a acceptable deal. I had been a little bit acquainted of this your broadcast provided bright clear idea

  4. ปั้มไลค์มือถือ, รับทำไลค์แฟนเพจจำนวนมาก, Like Fanpage, เพิ่มไลค์ฟรี, เพิ่มไลค์แฟนเพจ, รับปั้มไลค์เพจ, กด Like, เพิ่มไลค์เพจ ราคาถูก, ปั้มไลค์สถานะ, ปั้มไลค์ทั่วไป, รับไลค์แฟนเพจ, ปั้มไลค์ครบวงจร, ปั้มเพจ เหมาะสำหรับผู้ที่ต้องการยอดไลค์เพจเพจเยอะๆ, ปั้มไลค์ Facebook, ปั้มไลค์ราคาถูก, รับ Like Fanpage, บริการเพิ่ม Like ให้แฟนเพจของคุณ โดยทีมงานระดับมืออาชีพ ในระยะเวลาอันสั้นและราคาถูก รับประกันไลค์จากคนไทย 100%, รับทำไลค์ครบวงจร, ปั้มไลค์ฟรี, Pump Like, ซื้อไลค์แฟนเพจ, ปั้มไลค์, รับทำเพจสินค้าพร้อมยอดไลค์, กดไลค์รูป, ปั้ม Like ฟรี, กดไลค์, เพิ่ม Like, ปั้มยอดไลค์เป็นคนไทย 100%, ปั้มไลค์เพจ, ปั้มไลค์รูปเฟส, Up Like Fanpage, รับเพิ่มไลค์แฟนเพจ เป็นการโปรโมทแฟนเพจ เพื่อเพิ่มยอดขายสินค้าได้, ปั้มไลค์เพจคนไทย, ปั้มไลค์เพจฟรี, ปั้มไลค์รูป Facebook, ปั้มไลค์ ในโทรศัพท์, ปั้มเพจ, รับเพิ่มไลค์แฟนเพจเฟสบุ๊ค, ปั่นไลค์, รับทำเพจเฟสบุ๊ค, บริการปั้มไลค์ฟรี, ไลค์แฟนเพจ, รับจ้างเพิ่มไลค์, รับจ้างกดไลค์, เพิ่มไลค์เพจ, ปั้มไลค์เฟสบุ๊ค, เพิ่มไลค์, จ้างปั้มไลค์, รับเพิ่ม Like Fanpage Facebook ราคาพิเศษ เหมาะสำหรับผู้ที่ต้องการเพิ่ม Like Fanpage ให้ดูเป็นความน่าเชื่อถือของร้าน, รับสร้างแฟนเพจพร้อมยอดไลค์, Auto Like, ไลค์เพจ, ปั้มไลค์รูป, รับปั้มไลค์รูป, จ้างเพิ่มไลค์, โกงไลค์, การเพิ่ม Like เป็นการเพิ่มโอกาสทางการขายสินค้าของคุณนั่นเอง ด้วยงานบริการเพิ่มไลค์แฟนเพจระดับมืออาชีพ ประสบการณ์การทำงานหลายปี, ปั้มไลค์แฟนเพจ, บริการเพิ่มไลค์เฟสบุ๊คให้แฟนเพจ, บริการปั้มไลค์แฟนเพจฟรี, ปั้มรูป, รับไลค์ครบวงจรทั่วไทย, ไลค์คนไทย 100%, ปั้มไลค์ง่ายๆ, Add Like Fanpage, รับจ้างปั้มไลค์, ปั้มโพสต์, ปั้มไลค์เพจ Facebook, รับเพิ่มไลค์, เพิ่มไลค์แฟนเพจ ราคาถูก, แฟนเพจพร้อมยอดไลค์, เพิ่มไลค์คนไทย, ไลค์แฟนเพจได้สูงสุดหนึ่งล้านไลค์, จ้างไลค์รูป, จ้างกดไลค์, ไลค์แฟนเพจเฟสบุ๊ค, ปั้มเพจเฟสบุ๊ค, บริการเพิ่มไลค์แฟนเพจฟรี, ไลค์แฟนเพจราคาถูก, กดไลค์แฟนเพจ, จ้างไลค์

  5. ปั้มไลค์.com แหล่งแลกไลค์สำหรับคนไทย ระบบแลกไลค์ที่ดีและเสถียรที่สุด ในปัจจุบัน! ปั๊มไลค์ ปั๊มไลค์บนมือถือ แลกไลค์ โกงไลค์ แฮกไลค์ รูป โพส สเตตัส วีดีโอ คอมเม้น แฟนเพจ ผู้ติดตาม Like Hacklike Pumplike Instagram Youtube Twitter และอีกมากมาย ฟรี!

  6. I’ve been having issues with my Windows hosting. It has set me back quite a bit while making the next list. This is the current list that I have. I should add another list in less than a week. I’ll let you all know when the next list is ready. Thank you for your patience.

  7. Status Liker, Facebook Auto Liker, autoliker, facebook auto liker, Increase Facebook Likes, Facebook Autoliker, auto like, Autoliker, Working Auto Liker, Photo Auto Liker, Autoliker, Auto Like, autolike, Autoliker Facebook, auto liker, Auto Liker, Photo Liker, Fb Autoliker, Facebook Liker, Status Auto Liker

  8. เพิ่มไลค์แฟนเพจ, ปั้มเพจ, ปั๊มไลค์เพจ, ปั้มไลค์เพจ, เพิ่มไลค์เพจ ราคาถูก, เพิ่มไลค์เพจ, ปั้มไลค์แฟนเพจ, ปั๊มไลค์แฟนเพจ, ปั๊มไลค์เพจ, ปั๊มไลค์เพจ facebook, ไลค์เพจ

  9. ผู้นำด้านที่ปรึกษาการตลาดออนไลน์ของไทย เพิ่มไลค์ ปั้มไลค์แฟนเพจ รับเพิ่มไลค์แฟนเพจ เพิ่มยอดไลค์ ปั้มไลค์ ปั้มไลค์คนไทย

  10. Hi there! This post couldn’t be written any better!

    Reading this post reminds me of my oldd room mate!
    He always kept chatting about this. I will forward this post tto him.
    Fairly certain he will have a good read. Thank youu for sharing!

  11. Hey this is kjnda of off topic but I was wanting to know if blogs uuse WYSIWYG editors or if you have to manuaslly code with HTML.

    I’m stasrting a blog soon but have no coding know-how so
    I wanted to get advice from someone with experience.
    Any help would be greatly appreciated!

  12. I like it! Interesting informations over this site. It is pretty worth enough for me. In my view, if all webmasters and bloggers made good content as you did, the internet will be much more useful than ever before. I could not refrain from commenting. I have spent 1 hour trying to find such informations. I’ll also share it with a couple of friends interested in it. I’ve just bookmarked this website. Now with the task done, I’ll enjoy some online gay webcams. Gracias!!! Greetings from San Francisco!

  13. of course like your web site however you have to check the spelling
    on quife a few of youur posts. A number of them are rife with spelling issues and I
    find it very bothersome to inform the truth however I will definitely come back again.

  14. There’s nothing hotter in this entire world than seeing two girls make sweet love. Seeing a girl face deep in pussy is a dream come true. Dreams have a way of turning into reality at https://t.frtyt.com/ekuezzm5kw?aff_id=29696&offer_id=5407&nopop=1 This site is dedicated to stepsisters who love to lick and finger each other. You always knew stepsisters did this sort of thing with each other. You just never seen it with your own eyes until now!

  15. hi!,I really like your wriying so a lot! percentage we
    communicate more approximately your article on AOL? I require an expedt onn this
    house to solve my problem. Maybe that is you! Taking a look forward tto see you.

  16. I have really learned new things out of your blog post. One other thing to I have observed is that generally, FSBO sellers will certainly reject a person. Remember, they would prefer to not use your products and services. But if you actually maintain a gentle, professional connection, offering help and remaining in contact for four to five weeks, you will usually have the capacity to win a business interview. From there, a house listing follows. Thanks

  17. One more thing that I would like to share here is that, whatever you are using free blogging service but if you don’t update your website on on a regular basis basis then it’s no more importance.

  18. Hello, its understandable piece of writing along with this YouTube video; I can’t believe that one can not understand this simple paragraph having with video sample.

  19. Admiring thhe tine and energy you put into your blog aand in depth information yoou present.
    It’s nicee to come across a blog every obce
    in a while that isn’t thee same nwanted rehashed material. Wonderful read!
    I’ve bookmarked your site and I’m including your RSS feeds to
    my Google account.

  20. I got this web page from my pal who shared with me on the topic of this web site and now this time I am visiting this web page and reading very informative content at this place.

  21. Are you looking to get laid today? As in right this fucking minute? If so, then you need to check out https://t.hrtye.com/ze97vsfi2o?aff_id=29696&offer_id=5614&nopop=1 This is the one site where you can get some action the same day you join. Don’t even fool around with Facebook and those other so called dating sites. You’re never going to get laid at any of those places. There’s all kinds of pussy just waiting for you to pound it silly here. Don’t forget to buy a box of condoms while you’re out today. You’re going to need them!

  22. Howdy I am so grateful I found youur webpage, I really found you
    by error, while I was bbrowsing on Googlke for something else, Nonetheles I am here now aand would just like to say many thanks for a fantastic
    post and a all round enjoyable blog (I also love tthe theme/design), I don’t have time to go
    through itt all at the moment but I have saved it and also added your RSS feeds, so whenn
    I have time I wil be back to read a great deal more,
    Please do keep up the superb job.

  23. This paragraph about Search engine optimization is genuinely good one, and the back links are really very helpful to promote your web site, its also referred to as Web optimization.

  24. One more thing that I desire to share at this time is that, whatsoever you are using free blogging service except if you don’t update your website on on a regular basis basis then it’s no more importance.

  25. Hi mates, you are sharing your feelings concerning webpage Search engine marketing, I am also new user of web, thus I am also getting more from it. Thanks to all.

  26. Are you sick and tired of being lonely? Why should you not have someone special in your life? Everyone deserves to find love. You can find that and a whole lot more at https://t.irtyc.com/avekqggwlc?aff_id=29696&offer_id=3785&bo=2753,2754,2755,2756 This is one of those sites where it’s super easy to hook up. You’ll meet all kinds of girls. Don’t sit on the couch and hang out online all night. Hook up with a chick and have yourself a little fun. Every guy deserves to have a gal in his life. What are you waiting on?! Connect with a cutie today and put a smile all over your face.

  27. I got this web site from my pal who shared with me concerning this site and now this time I am visiting this site and reading very informative articles or reviews at this time.

  28. You have to waste less time to look for your necessary topic on net, because today the searching strategies of search engines are nice. That’s why I fount this post at this time.

  29. What’s up, it is understandable post along with this YouTube video; I can’t think that one can not understand this straightforward post having with video presentation.

  30. I like it! Interesting information over here. It’s pretty worth enough for me. In my view, if all website owners and bloggers made good content as you did, the internet will be a lot more useful than ever before. I could not resist commenting. I have spent 3 hours looking for such article. I’ll also share it with a couple of friends interested in it. I’ve just bookmarked this website. Right now with the task done, I’ll visit some live gay cams. Thank you very much!! Greetings from San Diego!

  31. Hmmm, yup no hesitation Google is finest in support of blogging but currently word press is also nice as a blogging since its Web optimization is pleasant defined already.

  32. I have read much about free blogging web pages, however I have no clear idea on the topic of that, can any one tell me which one is most excellent in support of free blogging?

  33. Super! Interesting informations over this web. It is pretty worth enough for me. In my opinion, if all website owners and bloggers made good content as you did, the web will be a lot more useful than ever before. I couldn’t resist commenting. I ‘ve spent some hours searching for such informations. I’ll also share it with some friends interested in it. I have just bookmarked this web. Now with the work done, I’ll enjoy some online shemale cams. Gracias!!! Greetings from Los Angeles!

  34. Hello, its understandable paragraph along with this YouTube video; I can’t imagine that one can not understand this trouble-free post having with video presentation.

  35. Are you the type of guy who likes to look at fat girls naked? If so, then https://t.frtyh.com/755v8haio0?aff_id=29696&offer_id=5331&bo=2753,2754,2755,2756 is the site you’ve been searching for. It’s full of nothing but sexy fat women. These big beautiful women are exactly what your eyeballs have been begging to see. Don’t be surprised if you pop a boner while looking at these hefty honeys. They’re full of curves and are exactly what your penis likes.

  36. I’d like to thank you for the efforts you have put in writing this website.
    I am hoping to check out the same high-grade content from you later on as
    well. In fact, your creative writing abilities has motivated me to get my own, personal blog now 😉

    finanzas faciles

  37. Greetings! This is my first visit to your blog! We are a collection of volunteers and starting a new initiative in a
    community in the same niche. Your blog provided us useful information to work on. You have done a wonderful
    job!

    prestamos rapidos urgentes