Как инициализировать свойство CLR UserControl в следующем случае? - PullRequest
0 голосов
/ 21 июля 2010

Я создал 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 Ответ

1 голос
/ 21 июля 2010

Создайте User свойство зависимости , а затем привяжите его аналогично этому:

<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); }

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