-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Grid with auto width columns overflows its container #23735
Comments
Hi I'm an AI powered bot that finds similar issues based off the issue title. Please view the issues below to see if they solve your problem, and if the issue describes your problem please consider closing this one and thumbs upping the other issue to help us prioritize it. Thank you! Closed similar issues:
|
Here you go: https://github.com/RsZoli/GitHubRepros |
I can repro this issue at Android platform on the latest 17.11.0 Preview 5.0 (8.0.70 & 8.0.61 &8.0.3) |
@mattleibow Please, can you guys do something about this? |
According to #10494 (comment) this is expected behaviour. It seems Auto is pretty much only usable for fixed width items and just save you from duplicating the size explicitly. For your specific case I guess |
@hartez you said in the linked comment that this is by design. And sure the label can measure with infinite space, that's fine. But shouldn't the arrange step of the layout process limit the Labels width to something that does not break the Grids bounds and still fits the element with the fixed size. |
@FlavioGoncalves-Cayas for that specific case I think you can do: |
Doesn't work. That will always position the red box at the end. But I want it to always be next to the label independent of the labels width EDIT: You're right. Thanks for pointing that out. |
Okay, but for me, the truncation is the bigger issue here! But still, a content shouldn't overflow its container, in my opinion! |
@RsZoli sorry messed up my formatting, intended to write |
Sadly, that doesnt look good for my case! |
This is not a bug, this is just what "Auto" in a Grid Column means. What you're expecting them to do (allocate the column space based on the measurement of all of the Labels in the row) can't happen for a couple reasons. Each cell of a Grid can have more than one item of content in it, and columns can span multiple rows. Accounting for those conditions means that automatic sizing based on flexible sizing of content is at best an expensive recursive process, and at worst impossible. But all is not lost! .NET MAUI has a whole layout type dedicated to handling "flexible sizing of content": FlexLayout. To achieve the layout you want, you can do something like this: <FlexLayout FlexLayout.Wrap="NoWrap"
JustifyContent="Center">
<Label Text="Left Side Text"
HorizontalTextAlignment="End"
FlexLayout.AlignSelf="Start"
BackgroundColor="Orange"
LineBreakMode="MiddleTruncation" />
<Label FlexLayout.Shrink="0"
Text=" - "
BackgroundColor="Green" />
<Label Text="Right Side Text"
HorizontalTextAlignment="Start"
FlexLayout.AlignSelf="End"
LineBreakMode="MiddleTruncation"
BackgroundColor="Magenta" />
</FlexLayout> Doing that with several variations on the length of the text yields this: |
@hartez Thank you for your answer, i will definetly change my layout per your recommendation! However my main problem is not the sizing of Grid cells rather than the trail truncation which doesn't happen when needed and happen when should not! |
I don't know what to tell you, it's not a bug. Auto Columns are not going to produce truncated text the way you want; that's just not how they work. There's another Layout which does precisely what you're asking for. This issue should be closed. |
Description
The lightblue background indicates a stacklayout, the gold/lightgreen/pink trio is a grid with 3 columns, each set to auto width!
The 3 columns each has a label with linebreakmode set to middletruncation, yet this does not happen, the grid overflows its container!
But, if i remove the auto width from the 2 outside columns, the linkebreakmode kicks in and it works perfectly!
However, if i reduce the content of the columns, truncation still happens but it should not be, since there is plenty space for the grid to grow!
Steps to Reproduce
Create a new .NET MAUI app, put a 3 coulm Grid inside a StackLayout in a ContentPage, set the Grid's columns to auto with and observe!
Link to public reproduction project repository
No response
Version with bug
8.0.61 SR6.1
Is this a regression from previous behavior?
Not sure, did not test other versions
Last version that worked well
Unknown/Other
Affected platforms
Android, I was not able test on other platforms
Affected platform versions
No response
Did you find any workaround?
No response
Relevant log output
No response
The text was updated successfully, but these errors were encountered: