UserControl
をasDataTemplate
で使用しようとしていItemsControl
ます。UserControl
が呼び出され、のにバインドされたWorkItemControl
内のオブジェクトのタイプはです。ObservableCollection
ItemsSource
ItemsControl
WorkItemModel
バインディング診断を有効にすると、次のエラーが表示されます
BindingExpression
パス エラー:
'ItemModelText' property not found on 'object' ''WorkItemControl' (Name='')'.
BindingExpression:Path=ItemModelText; DataItem='WorkItemControl' (Name='');
target element is 'WorkItemControl' (Name=''); target property is 'ItemText' (type 'String')
UserControl の代わりに、Button を DataTemplate として使用すると、問題なく動作します。
次の XAML スニペットは、ItemsControl
.
<Border Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" BorderThickness="0" BorderBrush="Black">
<ItemsControl Name="WorkItems" ItemsSource="{Binding Path=WorkItemModels}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel HorizontalAlignment="Left" Orientation="Horizontal" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<control:WorkItemControl ItemText="{Binding Path=ItemModelText}"/>
<!--<Button Content="{Binding Path=ItemModelText}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Border>
で動作しない理由はありUserControl
ますか?