簡體   English   中英

WPF RelayCommand 在按鈕單擊時未觸發

[英]WPF RelayCommand not firing on button click

我對 WPF 和 MVVM 都沒有經驗,所以我很可能遺漏了一些東西,但是當我點擊我的按鈕時,命令沒有觸發。 我的頁面上還有一些菜單控件,我以完全相同的方式設置,當我單擊它們時,它們的命令按預期工作。

我嘗試附加一個單擊事件處理程序以確保該按鈕確實被單擊了。 我還嘗試附加一個不同的命令,該命令適用於我的菜單控件,而該命令不適用於按鈕。

<Button Grid.Row="1" Content="Add Note" 
                                        Command="{Binding InsertNoteCommand}"/>
public ICommand InsertNoteCommand { get; }

public MainViewModel()
{
    InsertNoteCommand = new RelayCommand(InsertNote);
}

private void InsertNote()
{
    Console.WriteLine("Note Inserted!");
}

我還應該提到我正在使用 MVVM Light

調試信息非常有用,但最后我通過將綁定指向數據上下文來解決問題。

<Button x:Name="AddNewNoteBtn" Grid.Row="1" Content="Add Note" 
                                        Command="{Binding Path=DataContext.InsertNoteCommand,  ElementName=_window}"/>

如果有人對我如何改進這一點有意見,我將不勝感激。 謝謝!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM