WP7 - свойство IsEnabled объекта ListboxItem для привязки данных - PullRequest
1 голос
/ 07 июня 2011

У меня есть Listbox с его свойством ItemsSource, привязанным к коллекции объектов.Каждый из объектов в коллекции имеет свойство Enabled, которое я хотел бы привязать к их соответствующему ListboxItem.Я попробовал этот подход:

<ListBox ItemsSource="{Binding MyList}">
    <ListBox.ItemContainerStyle>
        <Style TargetType="ListBoxItem">
            <Setter Property="IsEnabled" Value="{Binding Enabled}" />
        </Style>
    </ListBox.ItemContainerStyle>
</ListBox>

Это приводит к сбою AG_E_RUNTIME_MANAGED_UNKNOWN_ERROR в этой строке:

<Setter Property="IsEnabled" Value="{Binding Enabled}" />

Как связать свойство IsEnabled в ListboxItems (с помощью Windows Phone 7)?

1 Ответ

2 голосов
/ 07 июня 2011

Связывание в установщиках свойств - это функция Silverlight 5 .Windows Phone 7 использует Silverlight 3, поэтому эта функция недоступна.Windows Phone 7.1 использует Silverlight 4, поэтому эта функция даже не является частью Windows Phone 7.5 (Mango).Вы долго ждете!

Есть некоторые обходные пути.См. Сообщение в блоге По мере развития платформы, обходные пути (Better SetterValueBindingHelper делает сеттеры Silverlight лучше!) .

Вы также можете создать подкласс ListBox, переопределяя PrepareContainerForItemOverride, чтобы добавить привязку при добавлении каждого ListBoxItem.См. Пример в Быстрая загрузка Windows Phone 7 NavigationList Control для использования этого переопределения.

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