我寫下來這裏,因爲我有很多的問題,這個東西,我希望你能幫助我:P如何使一個StackPanel適合其孩子的寬度
我想創建一個適合其所有Children's寬度的動態StackPanel。我會以你爲例。
假設我的StackPanel目前是空的。其寬度將是10(遠東)和它的固定高度爲30。然後我想補充的圖像,我寫下來:
BitmapImage myImage = new BitmapImage(new Uri("[PATH]"));
Image realImage = new Image();
realImage.Source = myImage;
realImage.Width = 50;
realImage.Height = myImage.Height;
myStackPanel.Children.Add(realImage);
的StackPanel中沒有放大到50像素,雖然;它堅持到10px,削減我的形象。當我嘗試添加其他UI元素(如TextBlocks等)時也會發生同樣的情況。
我試圖做類似
myStackPanel.Width += realImage.Width;
但是,當然,它沒有工作。我試圖設置StackPanel的寬度爲「自動」,但它也沒有幫助。這是StackPanel的聲明在XAML:
<Window x:Name="MainWindow1" x:Class="Proj.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="myTitle" Height="480" Width="640"
Loaded="onLoad" Background="Black" MinHeight="480" MinWidth="640">
<Grid>
...(Other Closed Tags)...
<StackPanel Orientation="Horizontal" Name="myStackPanel" Height="30" Margin="135,283,458,147"/>
</Grid>
</Window>
我需要一個StackPanel,因爲我必須證明與將在屏幕上進行滾動字幕效果對象的可變數量動態欄,從右至左滑動。我不知道對象的數量和動態欄的最終寬度。
當然,如果你知道有一個其他的方式來做到這一點,我會很高興吧:)
謝謝你學習的東西!
將'StackPanel'的寬度設置爲'auto' ..我想這應該有幫助 – Anirudha
它已經寫在帖子中,我試過了,它不起作用:P – Vereos
沒有足夠的細節。請使用所有相關的樣式等發佈周圍的XAML。您的面板可能受到家長控制的限制。閱讀面板行爲也可以幫助:http://msdn.microsoft.com/en-us/library/ms754152.aspx –