2012-11-17 11 views
6

यह मेरा मूल कोड है:WPF प्रगति पट्टी फिट करने के लिए क्यों नहीं फैल जाएगी?

<StackPanel Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2" Orientation="Horizontal"> 
     <ProgressBar Height="23" Name="searchProgressBar" Foreground="Blue" BorderBrush="#00000000" BorderThickness="1" VerticalAlignment="Top" HorizontalAlignment="Stretch"/> 
     <TextBlock Text="asdf" Height="23" Name="progressTextBlock" VerticalAlignment="Top" Foreground="Red" HorizontalAlignment="Right"/> 
</StackPanel> 

प्रगति बहुत छोटा है, शायद 2 या 3 पिक्सल चौड़ा था, तो वहाँ पाठ ब्लॉक और बाद खाली जगह थी। इसलिए मैंने तत्वों को स्पष्ट रूप से पक्षों को डॉक करने की कोशिश की:

<DockPanel Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2" > 
      <ProgressBar DockPanel.Dock="Left" Height="23" Name="searchProgressBar" Foreground="Blue" BorderBrush="#00000000" BorderThickness="1" VerticalAlignment="Top" /> 
      <TextBlock DockPanel.Dock="Right" Text="asdf" Height="23" Name="progressTextBlock" VerticalAlignment="Top" Foreground="Red" HorizontalAlignment="Right"/> 
</DockPanel> 

कोई फायदा नहीं हुआ। मैंने प्रोग्रेस बार पर HorizontalAlignment="Stretch" सेट करके प्रत्येक समाधान को संशोधित करने का भी प्रयास किया, लेकिन इसमें कोई बदलाव नहीं आया है। टेक्स्ट ब्लॉक के बाद सभी जगहों को भरने के लिए मैं इसे कैसे बढ़ा सकता हूं?

उत्तर

4

ProgressBar से DockPanel.Dock="Left" निकालें और नियंत्रण का क्रम बदलने:

<DockPanel> 
    <TextBlock DockPanel.Dock="Right" Height="23" VerticalAlignment="Top" HorizontalAlignment="Right"/> 
    <ProgressBar Height="23" VerticalAlignment="Top" /> 
</DockPanel> 

डिफ़ॉल्ट रूप से, DockPanel अपनी संपत्ति true को LastChildFill सेट है, जो ProgressBar उपलब्ध स्थान ले कर देगा है।

1

आह मैं देख रहा हूं कि आप क्या करने की कोशिश कर रहे हैं। यह 2 कॉलम परिभाषाओं के साथ ग्रिड का उपयोग करने के लिए शायद एक बेहतर जगह है। चौड़ाई = "*" के साथ पहला (बाएं वाला) columndefinition और चौड़ाई के साथ दूसरा (दाएं वाला) चौड़ाई = "ऑटो"। ऑटो बनाम * के बारे में अधिक जानकारी के लिए http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/9a7e6591-1fae-4295-b68a-be97e8e53d06/

देखें