0
我有一個ListBox,每個項目都有一個TextBlock和一個Button。按鈕有一個命令。 問題是,單擊按鈕時列表框的selecteditem不會更改。 (我猜selectionchanged事件不會觸發)。當我點擊文本塊時,它工作正常。我的視圖模型的ListBox.SelectionChanged不會觸發
<ListBox ItemsSource="{Binding FavList}" SelectedItem="{Binding SelectedFav,Mode=TwoWay}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<TextBlock Text="{Binding Name}"/>
<Button Content="+" Command="{Binding Source={StaticResource ViewModel},Path=AddToFavCommand}" Margin="120,0,0,0"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
相關零件(我不認爲這有什麼問題):
private Products _selectedFav;
public Products SelectedFav
{
get
{
return _selectedFav;
}
set
{
if (value != _selectedFav)
{
_selectedFav = value;
NotifyPropertyChanged("SelectedFav");
}
}
}
public DelegateCommand AddToFavCommand { get; set; }
AddToFavCommand = new DelegateCommand(addtofav);
private void addtofav(object parameter){
}
所以我需要在命令運行前更改所選擇的項目。我怎樣才能做到這一點?
我試着解決它,而不使用MVVM Light,但我可以傳遞一個參數給我的DelegateCommand,正如你所建議的,它工作正常。謝謝! – 2012-03-07 14:53:54