Привязка Silverlight к пользовательскому элементу управления в шаблоне данных - PullRequest
0 голосов
/ 22 сентября 2011

В Silverlight у меня есть DataTemplate, который привязан к объекту, который содержит свойство, которое содержит UserControl.

В DataTemplate я хочу привязать к свойству, которое содержит UserControl, чтобы UserControl отображался как часть DataTemplate.

В данный момент я использую ItemsControl и привязываю ItemsSource к свойству, содержащему UserControl, и это работает, однако UserControl не заполняет доступное пространство, и это заставляет меня задуматься, есть ли лучший способ делает это.

Спасибо за любую помощь.

Martyn.

РЕДАКТИРОВАТЬ: В соответствии с просьбой некоторые XAML:

<DataTemplate x:Key="ContentTemplate">
  <Grid>
    <Grid.RowDefinitions>
      <RowDefinition Height="Auto"/>
      <RowDefinition Height="1*"/>
    </Grid.RowDefinitions>
   <TextBlock Text="Large Content" Grid.Row="0"/>
   <ItemsControl ItemsSource="{Binding Contents}" Grid.Row="1" MinHeight="200" MinWidth="300" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>
  </Grid>
</DataTemplate>

Где свойство Contents, к которому привязано следующее:

private UserControl _contents;
public UserControl Contents
{
  get {return _contents;}
  set
  {
    _contents = value;
    NotifyPropertyChanged("Contents");
  }
}

1 Ответ

0 голосов
/ 23 сентября 2011

Не знаю, почему вы используете ItemsControl для показа контента, возможно, если вы попробуете его с ContentControl.

<ContentControl Content="{Binding Contents}" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" ...

Обратите внимание на свойства HorizontalContentAlignment и VerticalContentAlignment, эти свойства устанавливают выравнивание содержимого элемента управления, поэтому, если для них установлено значение «Растянуть», содержимое должно занимать все доступное пространство.

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