我有一個ListBox,其Style和ItemTemplate在代碼隱藏後在點擊特定按鈕時發生變化。WPF列表框保留對SelectedItem的風格變化
listbox.ItemTemplate = FindResource("dataTemplateView1") as DataTemplate;
listbox.Style = FindResource("listBoxStyle1") as Style;
有三種可能的意見,所以有三組數據模板和樣式。 DataTemplate包含一些文本和縮略圖(每組不同的大小)。樣式只是將ItemsPanelTemplate更改爲WrapPanel,StackPanel(水平)和StackPanel(垂直)。例如:
<Style x:Key="listBoxStyle1" TargetType={x:Type ListBox}">
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<WrapPanel />
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
</Style>
的問題是,當我有一個選擇的項目(表示具有索引20項目)和I改變視圖,示出將重置回到第一索引列表框的可見區域(但所選項目仍然被選中,只是沒有顯示)。
我試圖解決這個問題,使用解決方案here滾動到選定的項目並將其設置爲居中。但是目前,有些時候行爲似乎不穩定,因爲發生的情況是listbox中的第一個項目首先顯示,然後跳轉到選定的項目。任何其他的替代品呢?
謝謝!
謝謝你的上述! – 2010-08-13 09:21:52