Невозможно установить свойство для ListBox ItemsSource - PullRequest
0 голосов
/ 11 ноября 2011
List<Post>[] Postok;

public List<Post>[] MyProperty
{
    get { return Postok; } 
    set { Postok = value; } 
}

[DataContract]
public class Post
{
    [DataMember]
    public string _imageSourc { get; set; }
    [DataMember]
    public string _author { get; set; }
    [DataMember]
    public string _maintext { get; set; }
    [DataMember]
    public string _altext { get; set; }
    [DataMember]
    public string _href { get; set; }
}

<ListBox x:Name="sdemotivalo" ItemsSource="{Binding MyProperty[0]}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Path=_imageSourc}" />
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

Я хочу установить MyProperty [0] для ListBox.Но это ничего не показывает.Я искал ответ для этой проблемы, но я не нашел это.Если ты знаешь, пожалуйста, помоги мне.

Ответы [ 2 ]

1 голос
/ 11 ноября 2011

Вам необходимо установить DataContext для вашего элемента управления или формы. Вы, скорее всего, сделаете это в корне следующим образом:

<Grid x:Name="LayoutRoot" DataContext="{Binding MyClass}">

Предполагается, что MyProperty принадлежит экземпляру класса с именем MyClass. Тогда вы можете получить у членов MyClass, в том числе MyProperty. Затем вы должны установить ItemsSource для вашего ListBox следующим образом:

<ListBox x:Name="sdemotivalo" ItemsSource="{Binding MyProperty[0]}" >

Первая строка выше говорит вашей форме, чтобы посмотреть MyClass, чтобы получить ее данные. Таким образом, когда вы говорите ItemsSource="{Binding MyProperty[0]}", вы говорите: «посмотрите на экземпляр класса, к которому вы привязаны (MyClass), и найдите свойство с именем MyProperty», после чего вы можете затем индексировать в MyProperty и получить то, что вы хотите.

Мне любопытно, почему вы используете массив List<T> - Я не уверен, что когда-либо видел это.

0 голосов
/ 11 ноября 2011

Имя свойства Public - MyProperty, и вы привязываетесь к ListProp. Разместите код, в котором вы инициализируете Postok, и присвойте значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...