English 中文(简体)
Very basic WPF layout question
原标题:

How do I get this listbox to be maxiumum size, i.e. fill the group box its in. I ve tried width="auto" Height="auto", width="stretch" Height="stretch"

annoyingly at the moment, it dynamicly sizes to whatever fills it - (i cant think of any situation you d want a listbox to do that but anyway) - or I can only statically set its size.

Cheers!

最佳回答

The problem is that StackPanels try to take up as little space as possible.

Just remove them and you should be fine.

<GroupBox>
    <ListBox />
</GroupBox>

If that doesn t fit your situation, we ll need a bit more context on where the ListBox is going.

DockPanels are also good for making controls use up the remaining space. The last item inside a DockPanel uses all the remaining space (as long as you haven t set LastChildFill = false).

The below example allows the TextBlock to take up as much space as it needs at the top, and then the GroupBox with the ListView takes up the rest.

<DockPanel>
    <TextBlock DockPanel.Dock="Top" Text="My TextBlock Text" />
    <GroupBox>
        <ListBox />
    </GroupBox>
</DockPanel>
问题回答

If you want sizing to fill, you should be using Grids not StackPanels.

<Grid>
  <GroupBox>
    <Grid>
      <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" />
      </Grid.ColumnDefinitions>
      <Grid.RowDefinitions>
        <RowDefinition Height="*" />
      </Grid.RowDefinitions>
      <ListBox />
    </Grid>
  </GroupBox>
</Grid>

If you really want StackPanels, you can use HorizontalContentAlignment="Stretch" and VerticalContentAlignment="Stretch" on the StackPanel.





相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签