ОК, у меня есть шаблон данных для элементов:
<DataTemplate x:Key="SmallDayEventItemTemplate">
<Border ...>
<Grid ...>
<TextBlock ...
Text="{Binding Path=Title}"/>
<my:SmallPlayer ...
PlayerSource="{Binding Path=MediaSource}">
</my:SmallPlayer>
</Grid>
</Border>
</DataTemplate>
Также у меня есть UserControl
с именем SmallPlayer
.В SmallPlayer.xaml.cs:
public Uri PlayerSource
{
get { return (Uri)GetValue(PlayerSourceProperty); }
set
{
SetValue(PlayerSourceProperty, value);
//player.Open(value);
}
}
public static readonly DependencyProperty PlayerSourceProperty =
DependencyProperty.Register("PlayerSource", typeof(Uri), typeof(SmallPlayer));
Поэтому, когда я передаю MediaSource
элемента внутри кода окна владельца, вызывается item
s set
метод доступа, но SmallPlayer
's *Аксессор 1013 * set
никогда не вызывается!Это в то время как TextBlock
, который привязан к Title
свойству, действует как ожидалось!
Uri uri = null;
if (Uri.TryCreate(mediaName, UriKind.RelativeOrAbsolute, out uri))
item.MediaSource = uri;
Это меня смущает!Что не так?