嘗試在Silverlight 4中設置樣式下拉列表 - 我已成功完成所有視覺樣式更改。讓我難住的部分是我試圖對齊控件的下拉(彈出)部分,以便下拉的右邊緣與控件的右邊緣對齊。默認值是左邊緣與控件的左邊緣對齊。樣式Silverlight下拉列表/組合框
任何想法/例子?這很難做,還是我錯過了什麼?
感謝 邁克爾
嘗試在Silverlight 4中設置樣式下拉列表 - 我已成功完成所有視覺樣式更改。讓我難住的部分是我試圖對齊控件的下拉(彈出)部分,以便下拉的右邊緣與控件的右邊緣對齊。默認值是左邊緣與控件的左邊緣對齊。樣式Silverlight下拉列表/組合框
任何想法/例子?這很難做,還是我錯過了什麼?
感謝 邁克爾
不幸的是它不是你可以很容易做到的模板(除非你的控制是固定的大小和你不介意在模板中硬編碼彈出偏移)。
有一個解決方案,它並不複雜,但:
<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;
}
}
你可以做的是使用MS Expression Blend中生成的組合框的默認模板。在模板中,你會發現一個名爲彈出彈出,改變它的屬性的FlowDirection以從右至左...
<Popup x:Name="Popup" FlowDirection="RightToLeft">
注意彈出內部的ScrollViewer對象將繼承的FlowDirection設置,所以你必須明確地設置它的FlowDirection到LeftToRight。 ..
<ScrollViewer x:Name="ScrollViewer" BorderThickness="0" Padding="1" FlowDirection="LeftToRight">
...否則將從右至左填充和滾動條會在左側。