[WPF] Image Source
От: Sergey_BG Россия  
Дата: 25.01.11 10:06
Оценка:
Всем привет. Подскажите пожалуйста.


       <ListBox DataContext="{Binding Source={StaticResource curFolderKey}, Path=Files}" ItemsSource="{Binding}" Grid.Row="1" Grid.RowSpan="2"
            local:DataSetter.Item="{Binding Source={StaticResource curFolderKey}}"
            local:DataSetter.Path="File"
            local:DataSetter.Value="{Binding Path=SelectedItem, RelativeSource={RelativeSource Self}}"
            >
            <ListBox.ItemsPanel>
                <ItemsPanelTemplate>
                    <StackPanel Orientation="Horizontal" />
                </ItemsPanelTemplate>
            </ListBox.ItemsPanel>
            <ListBox.ItemContainerStyle>
                <Style TargetType="{x:Type ListBoxItem}">
                    <Setter Property="ContentTemplate">
                        <Setter.Value>
                            <DataTemplate>
                                <Image Name="image" Source="{Binding Path=Path}" Margin="2" Stretch="Uniform" HorizontalAlignment="Left" VerticalAlignment="Center" Height="50" Width="50" />
                            </DataTemplate>
                        </Setter.Value>
                    </Setter>
                </Style>
            </ListBox.ItemContainerStyle>
        </ListBox>


1) curFolderKey — ресурс в App. Можно ли как нибудь его свойство связать с ListBox.CurrentItem которое есть свойство только для чтения. curFolderKey не видит ListBox. ListBox не связывается с curFolderKey так как свойство только для чтения. На текущий момент сделал attached dependency property, и с их помощью это делаю.
2) Хочу чтоб картинки обновлялись асинхронно. Т.е. как зачитает их из файла, так и покажет, а я пока они не загружены мог продолжать работу с UI. Но установка в биндинг IsAsync не помогает.
3) Сделал загрузку BitmapSource непосредственно в моих классах в параллельном потоке. Устанавливаю dependency property ImageSource моего класса, к которому теперь привязано изображение
<Image Name="image" Source="{Binding Path=ImageSource}" Margin="2" Stretch="Uniform" HorizontalAlignment="Left" VerticalAlignment="Center" Height="50" Width="50" />

Но Image не обновляется после изменения этого свойства. Остается пустым. Как заставить его обновиться? UpdateSourceTrigger=PropertyChanged не помогает.
Сергей
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.