开发者

Silverlight 4/WPF - Nested ScrollViewer panel that scales with available screen size

开发者 https://www.devze.com 2023-02-07 06:36 出处:网络
In the Windows Forms world you can take a panel and set it\'s dock property to fill and so on with nested panels, when the user resizes the window the panels and nested panels automatically resize too

In the Windows Forms world you can take a panel and set it's dock property to fill and so on with nested panels, when the user resizes the window the panels and nested panels automatically resize too. I want to achive something similar with Silverlight, here is my current structure.

Main
  ScrollViewer // for body
    UserCon开发者_Go百科trol 
      Grid
       control 
       Scrollviewer // this is where my problem is
       Control

The problem is I can set a size for the nested scroll viewer that looks good for 1024 resolution, but I also want to account for users that have larger resolution. If I leave it auto the content just stretches below the visible bottom line and defers to the top level ScrollViewer.

If I could achieve something analogous to how Windows Forms handles this with docking I think my problem would be solved. I must have a ScrollViewer for the nested panel and I want it to fill all visible space left. How Can I achieve this with SL4 or WPF?

[Edit] Here is an illustration of what i'm after.

Silverlight 4/WPF - Nested ScrollViewer panel that scales with available screen size


The top-level ScrollViewer allows its content to be as large as it needs to be, and adds scrollbars if that means they don't fit in the window. Its children no longer know or care how tall the window is; they just know that they've got as much space as they want.

So what is it that you want from your nested ScrollViewer? It's got all the space it needs, so it will grow to show all of its content -- there's nothing to restrict it to the height of the window. In fact, you added a top-level ScrollViewer, which specifically told it "don't restrict it to the height of the window".

If you want your inner ScrollViewer to be restricted to the window height, then take out the top-level ScrollViewer.

0

精彩评论

暂无评论...
验证码 换一张
取 消