2010-07-21 2 views
0

Я создал UserControl:Как инициализировать свойство CLR UserControl в следующем случае?

public partial class MyTemplate : UserControl 
{ 
    public MyUser User { get; set; } 
} 

А потом написал следующий код в XAML главного окна

<Window.Resources> 
    <DataTemplate x:Key="My"> 
     <local:MyTemplate Margin="10"/> 
    </DataTemplate> 
<Window.Resources> 
<ListBox x:Name="MyMainList" 
     ItemTemplate="{StaticResource My}"> 
      ItemsSource="{Binding Path=MyTimelineTweets}" 
      IsSynchronizedWithCurrentItem="True"> 

Где MyTimelineTweets имеет тип ObservableCollection и пользователь MyTemplate управления показывает данные MyFavouriteClass.

Возникает вопрос:

Как я могу инициализировать MyTemplate.User в XAML или в коде позади? // Если информация о пользователе доступна только на уровне окна.

ответ

1

Сделать Userdependency property, а затем связать его так же, как это:

<Window x:Name="window"> 
    ... 
    <local:MyTemplate Margin="10" User="{Binding Foo, ElementName=window}"/> 
    ... 
</Window> 

Чтобы User свойство зависимостей:

public static readonly DependencyProperty UserProperty = DependencyProperty.Register("User", 
    typeof(User), 
    typeof(MyTemplate)); 

public User User 
{ 
    get { return GetValue(UserProperty) as User; } 
    set { SetValue(UserProperty, value); } 

} 
+0

спасибо большое. Это должно помочь –

Смежные вопросы