2011-02-07 86 views
0

我試圖控制它會有一個動態的大小,我首先測試時增加控件的大小,完美的工作,但是當我減小事件的大小甚至沒有被稱爲。 我使用下面的事件調用函數調整控件大小的問題

ChatList.SizeChanged += ChatList_SizeChanged; 

private void ChatList_SizeChanged (object sender, System.Windows.SizeChangedEventArgs e) 
{ 
    UpdateLayout(); 
    CalculateSpace (e.NewSize.Width); 
} 

CalculateSpace功能具有下面的代碼

private void CalculateSpace (double width) 
{ 
    var size = width/_List.Count; 
    foreach (var in personSelector _List) 
    personSelector.Value.Width = size; 
    } 
} 

是否有任何理由的情況下當屏幕尺寸減小不會被調用?

感謝

+5

BTGMarco,因爲這個網站的工作方式,如果它回答你的問題,預計你會花時間接受一個答案。您在不接受任何答案的情況下提出了8個問題。請花些時間接受答案,否則您在這個問題和未來問題上可能會很少或根本沒有答案。對不起,這只是這個社區的運作方式。 – AndyPerfect 2011-02-07 21:30:29

回答

0

它非常難以分析什麼是在沒有良好的信息去控制你的佈局,並在其放置。不過,我希望能夠發現,控件的內容總是要儘可能小。因此,只要你膨脹其內容的寬度,你實際上設置了其最小寬度。當可用空間變小時,控件不會被縮小,因爲它「需要」更多。

你是否認爲使用帶有1 *寬度的列定義的Grid。當您添加一個新的「person」元素時,控件只需將另一個列定義添加到網格中,並將相應的Grid.Column屬性值添加到新元素。

網格將爲您處理所有這些尺寸的東西。