長いプロパティを公開するユーザーコントロールがあります。このコントロールをインスタンス化し、データテンプレートの公開されたプロパティにバインドしたいと思います。
リソースファイルにxamlエラーが表示されています。あいまいな「ルート要素としてパネルの派生物が必要です」。そして、これをデバッガーで実行すると、TeamIdxの値が-1であり、設定されていないことがわかります。
<DataTemplate x:Key="TeamScheduleTemplate">
<Grid HorizontalAlignment="Left" Width="400" Height="600">
<Team:ScheduleControl TeamIdx="{Binding Idx}" />
</Grid>
</DataTemplate>
public sealed partial class ScheduleControl : UserControl
{
public static readonly DependencyProperty TeamIdxProperty =
DependencyProperty.Register(
"TeamIdx",
typeof(long),
typeof(ScheduleControl),
new PropertyMetadata((long)-1));
public long TeamIdx
{
get { return (long)GetValue(TeamIdxProperty); }
set { SetValue(TeamIdxProperty, value); }
}
public ScheduleControl()
{
this.InitializeComponent();
var team = TeamLookup.GetTeam(TeamIdx);
}
}