2010-11-23 106 views
0

嘗試在Silverlight 4中設置樣式下拉列表 - 我已成功完成所有視覺樣式更改。讓我難住的部分是我試圖對齊控件的下拉(彈出)部分,以便下拉的右邊緣與控件的右邊緣對齊。默認值是左邊緣與控件的左邊緣對齊。樣式Silverlight下拉列表/組合框

任何想法/例子?這很難做,還是我錯過了什麼?

感謝 邁克爾

回答

1

不幸的是它不是你可以很容易做到的模板(除非你的控制是固定的大小和你不介意在模板中硬編碼彈出偏移)。

有一個解決方案,它並不複雜,但:

<Popup x:Name="Popup" Loaded="Popup_Loaded"> 

,然後在代碼:

private void Popup_Loaded(object sender, RoutedEventArgs e) 
{ 
    Popup myPopup = sender as Popup; 

    if (myPopup != null) 
    { 
     myPopup.VerticalAlignment = VerticalAlignment.Bottom; 
     myPopup.HorizontalAlignment = HorizontalAlignment.Right; 
    } 
} 
0

你可以做的是使用MS Expression Blend中生成的組合框的默認模板。在模板中,你會發現一個名爲彈出彈出,改變它的屬性的FlowDirection以從右至左...

<Popup x:Name="Popup" FlowDirection="RightToLeft"> 

注意彈出內部的ScrollViewer對象將繼承的FlowDirection設置,所以你必須明確地設置它的FlowDirection到LeftToRight。 ..

<ScrollViewer x:Name="ScrollViewer" BorderThickness="0" Padding="1" FlowDirection="LeftToRight"> 

...否則將從右至左填充和滾動條會在左側。