3 回答

TA貢獻1806條經驗 獲得超8個贊
將x:Name="listView"屬性添加到您的ListView,然后在模板中
<Button Grid.Column="1"
Command="{Binding ElementName=listView, Path=DataContext.RemoveItemCommand}"
CommandParameter="{Binding}" >
但是,當我遇到這樣的問題時,我通常只是在后面使用代碼。這樣做的原因是,我可以在Visual Studio中為C#代碼使用調試器,但是調試這些復雜的綁定要困難得多。這是一個C#版本,代碼是IMO清潔器,更易于調試:
void removeItem_Click( object sender, RoutedEventArgs e )
{
object i = ((FrameworkElement)sender).DataContext;
( this.DataContext as MyViewModel )?.RemoveItem( i );
}
也許那只是我的個人喜好。

TA貢獻1784條經驗 獲得超2個贊
最好在列表視圖中具有上下文菜單項(或頁面上某處的刪除按鈕)以刪除當前選定的項。然后,您可以從列表視圖中獲得選擇。
或者,您可以將上下文菜單附加到PrepareContainterForItemOverride中的列表視圖項(并在另一個Override方法中將其分離)
那將是一種更加標準的交互方式。
如果必須在列表視圖項中包含按鈕,那么獲取列表項的最簡單方法可能是使用可視樹幫助器從按鈕轉到列表視圖項,然后從列表中獲取實際項查看項目。
- 3 回答
- 0 關注
- 440 瀏覽
添加回答
舉報