J'ai un contrôle utilisateur contenant une zone de liste. Je veux lier à la propriété d'élément sélectionné listboxes afin que j'ai créé une propriété de dépendance.Problèmes de liaison de propriété de dépendance WP7
public HousePrice SelectedItem
{
get
{
return (HousePrice)GetValue(SelectedItemProperty);
}
set
{
SetValue(SelectedItemProperty, value);
}
}
public static readonly DependencyProperty SelectedItemProperty =
DependencyProperty.Register(
"SelectedItem",
typeof(HousePrice),
typeof(HorizontalListBox),
null
);
private void MainListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (e.AddedItems.Count > 0)
{
SelectedItem = (HousePrice)e.AddedItems[0];
}
}
Je lie à la propriété comme ceci:
<UserControls:HorizontalListBox
DataContext="{Binding HousePrices}"
SelectedItem="{Binding SelectedPriceFrom, Mode=TwoWay}" >
</UserControls:HorizontalListBox>
Mon point de vue propriétés du modèle:
private HousePrice _selectedPriceFrom;
public HousePrice SelectedPriceFrom
{
get
{
return _selectedPriceFrom;
}
set
{
_selectedPriceFrom = value;
NotifyOfPropertyChange("SelectedPriceFrom");
}
}
Je peux voir le dp étant fixé, mais la liaison à ma propriété vm ne le fait pas semble fonctionner.
Edit:
Je pense que le problème est de faire avec le DataContext pour le UserControl étant mis à HousePrices (une propriété dans ma VM) et SelectedItem étant réglé sur une autre propriété dans ma machine virtuelle. Je devine qu'il essaye de trouver SelectedItem par rapport à HousePrices.
Une autre bizarrerie est que j'utilise le cadre Caliburn Micro.
Des idées?