我正在使用MVVM創建一個UWP應用程序。在我的xaml視圖中,我有一個綁定到ObservableCollection的ListView,而Object_X是一個模型。在此列表視圖中綁定到我的xaml視圖的Object_X的其他屬性正常工作。然而,我在這個List View中有一個按鈕,它的點擊事件我想綁定到我在Object_X類中定義的方法,但是當我編譯我的代碼時,我得到一個「Object reference not set to an instance of an對象錯誤「。模型方法綁定在xaml中不起作用
這是我的xaml代碼。 ObjectXCollection是我的視圖模型中的一個屬性。 IsSelected和Value是Object_X的屬性,並且該綁定工作正常。 ExpandButtonHandler也被定義爲Object_X類中的一個方法,但它給了我錯誤。如果我刪除該點擊屬性,我的代碼就會生成並運行良好。我的模型正在實現INotifyPropertyChanged,這就是爲什麼屬性綁定工作正常。有人可以提出解決方案,或者有人可以看到問題嗎?
<ListView ItemsSource="{Binding ObjectXCollection, Mode=TwoWay}">
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox IsChecked="{Binding IsSelected, Mode=TwoWay}" IsThreeState="True">
<TextBlock Text="{Binding Value}"/>
</CheckBox>
<Button Content=">>>" Click="{Binding ExpandButtonHandler}"></Button>
</StackPanel>
</DataTemplate>
</ListView>
我試圖綁定的方法不在我的viewmodel中,它在我的模型中。 ListView綁定到我的ViewModel中的ObservableCollection,但隨後使用數據模板,DataType變成了Object_X,這就是爲什麼我的屬性與模型綁定在一起工作得很好。我很困惑爲什麼我不能綁定到方法,因爲它應該使用我的Object_X的同一個實例,它用於我的屬性綁定。 – user3079315
@ user3079315沒問題,答案保持不變。 WPF綁定無法綁定到方法。他們只能綁定到公共屬性。有一些[解決方法](http://stackoverflow.com/a/844946/302677),但我仍然建議使用'ICommand'和AttachedCommandBehavior。 – Rachel