2011-09-22 83 views
0

在Silverlight中,我有一個DataTemplate綁定到一個對象,該對象包含保存UserControl的屬性。Silverlight綁定到DataTemplate中的用戶控件

在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> 

其中,被綁定的內容屬性如下:

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

你能提供更多細節(Xaml)嗎?它在答案中提供了相關示例。謝謝。 –

+0

按要求完成。感謝您的期待。 – MartynJones87

回答

0

不知道爲什麼你使用一個ItemsControl顯示內容,也許如果你試用ContentControl。

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

注意屬性Horizo​​ntalContentAlignment和VerticalContentAlignment,這些屬性將控制內容的alignament,因此,如果您將其設置爲「拉伸」,那麼內容應適合所有可用空間。