WPF

2008-10-29 13 views
7

में आकार-से-सामग्री-लेआउट समस्या यह कोई ब्रेनर नहीं माना जाता है लेकिन मैं अभी भी इसे समझ नहीं सकता।WPF

मेरी नमूना एप्लिकेशन में एक बटन और एक dockpanel में एक पाठ बॉक्स नहीं है। यदि टेक्स्टबॉक्स की सामग्री टेक्स्टबॉक्स की सामग्री से छोटी है तो विंडो उतनी बड़ी है जितनी कि बटन की सामग्री को प्रदर्शित करने की आवश्यकता है। मैं यही चाहता था। लेकिन अगर मैं टेक्स्टबॉक्स में अधिक टेक्स्ट डालता हूं तो विंडो व्यापक हो जाती है :-(

मैं जिस व्यवहार को चाहता हूं वह यह है कि विंडो बटन की सामग्री के अनुसार चौड़ाई पाती है और टेक्स्टबॉक्स इसकी सामग्री को लपेटता है (या/और स्क्रॉलबार दिखाता है । आवश्यक)

धन्यवाद

कुछ नमूना कोड:

<Window x:Class="SO1.Window1" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="Window1" SizeToContent="Width" FontSize="20"> 
    <DockPanel> 
     <Button DockPanel.Dock="Top">A rather long text</Button> 
     <TextBlock TextWrapping="Wrap">Short text</TextBlock> 
    </DockPanel> 
</Window> 

उत्तर

7

इसे करने की कोशिश करने के बाद, ऐसा लगता है कि बाध्यकारी TextBlock के MaxWidth 01 को Button केआपके द्वारा किए गए प्रभाव को प्राप्त करते हैं:

<Button x:Name="btn" DockPanel.Dock="Top">Short text</Button> 
<TextBlock TextWrapping="Wrap" 
    MaxWidth="{Binding ElementName=btn,Path=ActualWidth}">A rather long text</TextBlock>