WPF Windows Docking that affects other windows in Maximized mode


I'm writing a WPF project that is effectively a ticker that runs at the bottom of the screen, above the taskbar. I need the ticker to: <br /> 1) Reside directly above the taskbar<br /> 2) Stay on top of all other windows<br /> 3) To continue to do so if the taskbar is set to auto-hide, without obstructing the taskbar<br /> 4) Make it so that other windows, which are maximized, don't occupy the space behind the ticker. So it should behave the same way as the task bar, in that it occupies permanent desktop space, which no other applications can use.

Currently, the previous developer just set the ticker by finding the screen size, and putting at the bottom by getting the screen size minus the ticker height, and setting that value to the Top of the WPF window. But that doesn't work for numbers 3 and 4 above. Number 2 is easy enough, just set TopMost="True"

I've seen some posts about docks and stickiness and huddled masses, but I don't think they're doing exactly what I need. Does anyone know how to accomplish what I'm trying to do?


For anyone who cares, it turns out I wasn't searching for the correct terms. What I wanted is called an AppBar. The solution I found is here: stackoverflow.com/questions/75785/… The solution works perfectly.


  • vue js how to validate the particular routes for the particular roles
  • WPF Gui that changes size with window?
  • Cannot set multibinding because multivalueconverter must be specified WPF
  • Showing Tkinter window larger than desktop
  • .htaccess: “redirect permanent” with fallback to a “RewriteRule”
  • IIS Redirecting non-WWW to WWW along with HTTP to HTTPS ISSUE
  • WiX Bootstrapper - difficulty detecting if software is already installed C++ redistributable, SQL Se
  • Adjust cell width in grouped UITableView
  • How to inject Symfony param from parameters.yml into Behat 3 configuration?
  • Asynchronous EF query in F#
  • Is there such a thing as static jar linking in java?
  • How to resize UIViewControllerWrapperView
  • Inject passwords to the build as environment variables
  • SQLite database partitioning
  • Dropbox API - Get permanent link for my media?
  • auto layout leading or trainling -16
  • TableView scroll underlying top bar
  • RewriteCond and RewriteRule in .htaccess
  • How to create a dollar amount input field in an HTML form?
  • Persistent stty Settings?
  • Changing Jupyter Notebook start up folder by modifying “start in” not working any more
  • Universal Image Loader reuse images
  • Hibernate to update table schema
  • Suppressing passwd when calling sqlplus from shell script
  • Django model inheritance, filtering models
  • Tamper-proof configuration files in .NET?
  • Jackson Parser: ignore deserializing for type mismatch
  • JQuery Internet Explorer and ajaxstop
  • Android full screen on only one activity?
  • Change multiple background-images with jQuery
  • Splitting given String into two variables - php
  • Sony Xperia Z Tablet not found by adb
  • Window Size for Mac application
  • Javascript convert timezone issue
  • Trying to switch camera back to front but getting exception
  • Why is the timeout on a windows udp receive socket always 500ms longer than set by SO_RCVTIMEO?
  • WOWZA + RTMP + HTML5 Playback?
  • 0x202A in filename: Why?
  • How do you join a server to an Active Directory (domain)?
  • How does Linux kernel interrupt the application?