Silverlight 4: возможно ли связать свойство ширины и высоты ListBoxItem? - PullRequest
0 голосов
/ 21 апреля 2010

У меня следующая проблема:

У меня есть ListBox, элементы которого лежат на холсте. Я хотел бы иметь возможность xamly позиционировать его элементы. ItemContainerStyle выглядит следующим образом:

<Style x:Key="ElementContainerStyle" TargetType="ListBoxItem" >
  <Setter Property="Canvas.Top" Value="{Binding BoundingBox.Y}" />
  <Setter Property="Canvas.Left" Value="{Binding BoundingBox.X}" />
  <Setter Property="Width" Value="{Binding BoundingBox.Width}" />
  <Setter Property="Height" Value="{Binding BoundingBox.Height}" />
  ...
</Style>

При таком стиле SL вылетает с сообщением InnerException:

System.NotSupportedException: невозможно установить свойство только для чтения

Почему это свойство только для чтения? Если я помещу туда обычные значения (не ограниченные данными), он будет работать хорошо, за исключением - это не то, что я хотел.

Я с нетерпением ждал новых функций для SL4 (например, возможность привязки к свойствам Width и Height), но кажется, что такой фокус все еще не может быть сделан?

Отлично работает в WPF ..

Кто-нибудь может пролить свет на это?

1 Ответ

1 голос
/ 23 августа 2010

Назначение привязки для свойства Setter.Value не поддерживается в Silverlight. Прочтите это сообщение в блоге , чтобы найти обходной путь, который использует присоединенное свойство для создания / назначения привязки при применении стиля к экземпляру.

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