Элементы LongListSelector не обновляются из-за привязки к строке

#c# #windows-phone-8 #windows-phone #tostring #longlistselector

#c# #windows-телефон-8 #windows-phone #tostring ( строка ) #селектор длинных списков

Вопрос:

Я использую LongListSelector для отображения различных элементов. Элементы отображаются в виде текстового блока, который просто привязан к самому элементу. Таким образом, метод toString вызывается для каждого элемента. Это необходимо, потому что toString создает отображаемую строку путем добавления нескольких свойств и возвращает их.

Проблема в том, что LongListSelector не может прослушать событие PropertyChanged свойства, поэтому представление не обновляется автоматически. Существуют ли другие события, которые обрабатываются LongListSelector и которые могут быть запущены в установщике свойств?

 <phone:LongListSelector x:Name="ItemLongListSelector" Margin="0,0,-12,0" ItemsSource="{Binding Items}" SelectionChanged="OnSelectItem" LayoutMode="Grid" GridCellSize="222,222">
    <phone:LongListSelector.ItemTemplate>
        <DataTemplate>
            <Grid Height="200" Width="200">
                <StackPanel VerticalAlignment="Top">
                    <TextBlock Height="173" MaxHeight="173" Text="{Binding}" Style="{StaticResource PhoneTextTitle3Style}" Foreground="White" TextWrapping="Wrap" TextTrimming="WordEllipsis" />
                </StackPanel>
            </Grid>
        </DataTemplate>
    </phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>
 

Комментарии:

1. Непонятно, о чем вы спрашиваете. Вам необходимо предоставить как внешний, так и внутренний код

2. переназначение itemsource селектора длинного списка может решить вашу проблему.

3. Это приведет к перерисовке всех элементов и, возможно, вызовет проблемы с производительностью.