0
我有一個包含列表框的用戶控件。我想綁定到列表框選定的項目屬性,所以我創建了一個依賴屬性。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];
}
}
我綁定屬性是這樣的:
<UserControls:HorizontalListBox
DataContext="{Binding HousePrices}"
SelectedItem="{Binding SelectedPriceFrom, Mode=TwoWay}" >
</UserControls:HorizontalListBox>
我的視圖模型屬性:
private HousePrice _selectedPriceFrom;
public HousePrice SelectedPriceFrom
{
get
{
return _selectedPriceFrom;
}
set
{
_selectedPriceFrom = value;
NotifyOfPropertyChange("SelectedPriceFrom");
}
}
我可以看到DP被確定,但以我的虛擬機屬性上的綁定不似乎工作。
編輯:
我認爲這個問題是在DataContext的用戶控件做被設置爲HousePrices(一個屬性在我的VM)和的SelectedItem被設置在我的虛擬機其他屬性。我猜測它試圖找到相對於HousePrices的SelectedItem。
另一個怪癖是我正在使用Caliburn Micro框架。
任何想法?