2008-10-29 39 views
7

Điều này được cho là không có trí tuệ nhưng tôi vẫn không thể hiểu được.Vấn đề bố cục kích thước nội dung trong WPF

Trong ứng dụng mẫu của tôi có một nút textbox trong một DockPanel. Nếu nội dung của hộp văn bản nhỏ hơn nội dung của hộp văn bản thì cửa sổ lớn như nó cần để hiển thị nội dung của nút. Đó là điều tôi muốn. Nhưng nếu tôi đặt thêm văn bản vào hộp văn bản, cửa sổ sẽ rộng hơn :-(

Hành vi tôi muốn là cửa sổ nhận chiều rộng theo nội dung nút và hộp văn bản kết thúc nội dung của nó (hoặc/và hiển thị thanh cuộn nếu . cần thiết)

Cảm ơn bạn

Một số mẫu mã:

<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> 

Trả lời

7

Sau khi thử nó, có vẻ như ràng buộc 's MaxWidthTextBlock đến ActualWidth của số Button đạt được hiệu quả mà bạn đang theo dõi:

<Button x:Name="btn" DockPanel.Dock="Top">Short text</Button> 
<TextBlock TextWrapping="Wrap" 
    MaxWidth="{Binding ElementName=btn,Path=ActualWidth}">A rather long text</TextBlock> 
Các vấn đề liên quan