だから私はここにこのxamlを持っています
<ListBox Grid.Column="1" Grid.Row="1" Background="Transparent" ItemsSource="{Binding Packages}">
<ListBox.ItemTemplate>
<DataTemplate>
<gameManagement:FeedGame DataContext="{Binding}" Package="{Binding Path=/}"></gameManagement:FeedGame>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
DependencyProperty
そして、と呼ばれるUserControlPackage
私がやろうとしているのは、そのプロパティをリストの現在のアイテムに設定することです。私はこれに約1時間いますが、何が間違っているのかわかりません。
私が上に持っている現在のコードFirstChanceException
は
BindingExpression path error: '' property not found on 'current item of collection' ''FeedGame' (Name='Me')'. BindingExpression:Path=/; DataItem='FeedGame' (Name='Me'); target element is 'FeedGame' (Name='Me'); target property is 'Package' (type 'IPackage')
そして、あなたが何でMe
あるか興味があるなら、これはUserControlのxamlにあります上記のリストボックスはに含まれています
x:Name="Me"
DataContext="{Binding ElementName=Me}"
これはFeedGame
public static readonly DependencyProperty PackageProperty = DependencyProperty.Register(
"Package", typeof(IPackage), typeof(FeedGame));
public IPackage Package {
get
{
return (IPackage)this.GetValue(PackageProperty);
//return this.package;
}
set
{
// Setter here never gets called.
if (Equals(value, (IPackage)this.GetValue(PackageProperty)))
{
return;
}
SetValue(PackageProperty,value);
this.OnPropertyChanged("Package");
}
}