برنامج الأغذية العالمي: كيفية جعل الضوابط تمتد في StackPanel؟

StackOverflow https://stackoverflow.com/questions/832216

سؤال

وسوف المتزلج وبعض الضوابط الأخرى التي لم تمتد لملء المساحة المتاحة عند وضعها في StackPanel. بدلا من ذلك العرض هو دائما MinWidth (أو حوالي 10 بكسل إذا لم يتم تعيين MinWidth). كيف يمكنني جعلها تمتد (أي ما يعادل Anchor.Left | Anchor.Right في WinForms عناصر)؟ مثال:

<StackPanel DockPanel.Dock="Bottom" Orientation="Horizontal">
    <Slider Value="14" SmallChange="0.5" Maximum="100" Minimum="4" 
            x:Name="FontSize" MinWidth="30" LargeChange="2" 
            TickFrequency="10" TickPlacement="TopLeft" 
            HorizontalAlignment="Stretch"/>
    <TextBlock Margin="8" Text="{Binding ElementName=FontSize, Path=Value}" 
               VerticalAlignment="Center"/>
</StackPanel>
هل كانت مفيدة؟

المحلول

وأنت تريد DockPanel بدلا من ذلك:

<DockPanel DockPanel.Dock="Bottom" LastChildFill="True">
    <TextBlock DockPanel.Dock="Right" ... />
    <Slider ... />
</DockPanel>

وDockPanel يحصل لك "أنكور" الوظيفة التي تريدها. StackPanel ببساطة مداخن الأمور بجانب بعضها البعض.

ولقد لاحظت من كتلة التعليمات البرمجية التي يتم إرساء StackPanel الخاص بك بالفعل داخل dockpanel، لذلك لقد تضمنت نفس السمة لرسو السفن في نموذج التعليمات البرمجية بلدي أعلاه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top