我想給在列表框中交替行樣式窗口電話7交替行的背景顏色列表框行7
我用下面的:它的工作,如果我有幾行。
<ListBox x:Name="ListBox1" Width="500" Height="300">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Width="500" Background="{Binding age,Converter={StaticResource myconverter}}">
<TextBlock Text="Some text"></TextBlock>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
,這是我的轉換器,其改變所述背景色:
public class MyConverter : IValueConverter
{
bool flag = false;
SolidColorBrush brush1 = new SolidColorBrush(Color.FromArgb(255, 100, 200, 255));
SolidColorBrush brush2 = new SolidColorBrush(Color.FromArgb(255, 200, 100, 155));
public object Convert(object value,
Type targetType,
object parameter,
System.Globalization.CultureInfo culture)
{
flag = !flag;
return flag ? brush1 : brush2;
}
public object ConvertBack(object value,
Type targetType,
object parameter,
System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
結合它給備用行背景顏色到我的列表框後。 但是,如果列表框有太多的行,當我向上和向下滾動非常快,然後行顏色改變,因爲它是在滾動列表框時再次調用轉換器。
我該如何解決這個問題,請幫幫我嗎?
請添加一些示例代碼到您的答案... –
@ Cabuxa.Mapache請參閱http://blog.mrlacey.co.uk/2014/01/how-not-to-highlight-alternate-items-in。 HTML –