locked
binding not reflected on ui RRS feed

  • Общие обсуждения

  • Я могу создать UIElement и биндинг на него только в .cs, вот они:

    var photoBinding = new Binding("PictureData")
                                {
                                    Converter = new BytesToImageConverter()};
    MoreFounGALItem.RowDefinitions.Add(new RowDefinition {Height = GridLength.Auto});
    var photo = new Image
                                {
                                    Width = 32, Name = "PhotoImage"
    };
    photo.SetBinding(Image.SourceProperty, photoBinding);
                                
    MoreFounGALItem.Children.Add(photo);

    это изображение добавляется в grid:

    <Grid Name="MoreFounGALItem" DataContext="{Binding Path=FoundGALItems.SelectedItem}"/>

    Это участвующие в биндинге проперти:

    public T SelectedItem
            {
                get
                {
                    return _selectedItem;
                }
                set
                {
                    if (_selectedItem != value)
                    {
                        _selectedItem = value;
                        OnPropertyChanged(new PropertyChangedEventArgs("SelectedItem"));
                    }
                }
            }

    и

    public string PictureData
            {
                get { return _pictureData; }
                set
                {
                    if (value != _pictureData)
                    {
                        _pictureData = value;
                        OnPropertyChanged("PictureData");
                    }
                }
            }

    вот конвертер:

    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
            {
                if (value != null && value is byte[])
                {
                    var bytes = value as byte[];
                    var stream = new MemoryStream(bytes);
                    var image = new BitmapImage();
    
                    image.SetSource(stream);
    
                    return image;
                }
    return null;
    }

    Все "PropertyChanched" срабатывают, но конвертер не вызывается и изображение не отображается, несмотря на то что данные приходят в DataPicture. Почему не срабатывает сам биндинг DependencyProperty и что я не сделал для его работы?


    С уважением, Герасимов Алексей. Skype: gerich1988; icq: 352-885-953


    15 апреля 2013 г. 17:07

Все ответы

  • Уважаемый пользователь!

    В вашей теме отсутствует активность в течение последних 5 дней. При отсутствии каких-либо действий в течение 2 последующих дней, тема будет переведена в разряд обсуждений. Вы можете возобновить дискуссию, просто оставив сообщение в данной теме

    22 апреля 2013 г. 10:58