亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

綁定按鈕單擊方法

綁定按鈕單擊方法

慕容森 2019-12-21 13:11:47
我有一個綁定到可觀察對象集合的數據網格。我想做的是有一個按鈕,該按鈕將執行表示被單擊的按鈕行的對象的方法。所以我現在所擁有的是這樣的:            <DataGridTemplateColumn Header="Command">                <DataGridTemplateColumn.CellTemplate>                    <DataTemplate>                        <Button Name="cmdCommand" Click="{Binding Command}"                                 Content="Command"/>                    </DataTemplate>                </DataGridTemplateColumn.CellTemplate>            </DataGridTemplateColumn>哪個不起作用并報告以下錯誤:Click =“ {Binding Command}”無效?!?{Binding Command}”不是有效的事件處理程序方法名稱。僅生成的類或代碼隱藏類上的實例方法有效。我已經看過命令綁定,但是看起來最終將只使用一個外部命令,而不是綁定到該行的對象。我在后面的代碼上使用事件處理程序來工作,然后將其路由到綁定到所選行的項目(因為單擊按鈕時該行被選中),但這似乎是處理此問題的較差方法,我認為我我只是在這里缺少一些東西。
查看完整描述

3 回答

?
慕妹3242003

TA貢獻1824條經驗 獲得超6個贊

您有各種各樣的可能性。最簡單最丑陋的是:


XAML


<Button Name="cmdCommand" Click="Button_Clicked" Content="Command"/> 

背后的代碼


private void Button_Clicked(object sender, RoutedEventArgs e) { 

    FrameworkElement fe=sender as FrameworkElement;

    ((YourClass)fe.DataContext).DoYourCommand();     

另一個解決方案(更好)是在上提供ICommand屬性YourClass。該命令已經具有對YourClass-object 的引用,因此可以對該類執行操作。


XAML


<Button Name="cmdCommand" Command="{Binding YourICommandReturningProperty}" Content="Command"/>

因為在編寫此答案期間,發布了許多其他答案,所以我不再寫更多。如果您對我的一種顯示方式感興趣,或者您認為我做錯了,請發表評論。


查看完整回答
反對 回復 2019-12-21
  • 3 回答
  • 0 關注
  • 701 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號