我有一个 ListView,其中 ItemsSource 设置为一种 Movies 集合(带有 Movie 对象)。然后我在里面有一个 DataTemplate,其中包含一个 ComboBox 和一个 TextBlock。在 ComboBox 上,我将 Selected 项目绑定到 Movie 对象包含的(剧集的)进度。这里我使用的是普通的“绑定”方法。但是当我想将方法绑定到“DropDownClosed”事件时,问题就来了。这在使用 Code Behind 时工作正常,但使用 ViewModel 和 x:Bind 时它给我“对象引用未设置到对象的实例”。在构建我的应用程序时。
目标是绑定到 ViewModel 中的方法,而不是没有错误的代码隐藏。
当我取消“DropDownClosed”事件时,一切都很顺利。没有其他事件效果更好。
<ListView ItemsSource="{x:Bind ViewModel.MovieLibrary}">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Spacing="20" Orientation="Horizontal">
<ComboBox SelectedItem="{Binding Progress}"
ItemsSource="{Binding Media.Episodes, Converter={StaticResource NumberToArrayConverter}}"
DropDownClosed="{x:Bind ViewModel.UpdateStuff}">
</ComboBox>
<TextBlock Text="{Binding Media.Title}" TextWrapping="Wrap" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
还有这个,但是如果它是空的,它的效果也一样糟糕,所以如果有必要(从视图模型来看),请 idk :
public void UpdateStuff(object sender, object e)
{
//blabla not important
}
问题是我根本无法对任何属性使用 x:Bind。
蝴蝶刀刀
12345678_0001
相关分类