如何将listView的selectedItem值传递到wpf MVVM中的另一页
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将listView的selectedItem值传递到wpf MVVM中的另一页相关的知识,希望对你有一定的参考价值。
我对wpf不太熟悉,因此需要帮助。我想使用绑定将listview中所选项目的值传递给另一个页面文本框。我已经成功获取了所选的值,但是不知道如何在另一个页面上传递该值。请帮助
<ListView x:Name="mobileList" Grid.Column="0"
Grid.Row="6"
HorizontalAlignment="Center"
HorizontalContentAlignment="Left"
Height="auto" VerticalAlignment="Bottom"
ItemsSource="Binding Path=DataList,Mode=TwoWay"
SelectedItem="Binding SelectedItem,Mode=TwoWay">
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="Binding Path=ModelName,Mode=TwoWay"
Header="ModelName" Width="auto"/>
</GridView>
</ListView.View>
</ListView>
<TextBlock x:Name="txtModelID" Text="Binding Path=SelectedItem.ModelID, Mode=TwoWay" Grid.Row="2"
Grid.Column="1" Background="Gray" Width="200" HorizontalAlignment="Left" VerticalAlignment="Bottom"
FontSize="10" Height="20"/>
<TextBlock x:Name="txtModelName" Text="Binding Path=SelectedItem.ModelName, Mode=TwoWay" Grid.Row="3"
Grid.Column="1" Background="Gray" Width="200" HorizontalAlignment="Left" VerticalAlignment="Bottom"
FontSize="10" Height="20"/>
<TextBlock x:Name="txtBrandID" Text="Binding Path=SelectedItem.BrandID, Mode=TwoWay" Grid.Row="4"
Grid.Column="1" Background="Gray" Width="200" HorizontalAlignment="Left" VerticalAlignment="Bottom"
FontSize="10" Height="20"/>
这是所选项目
private CK_Model _SelectedItem;
public CK_Model SelectedItem
get return _SelectedItem;
set
_SelectedItem = value;
OnPropertyChanged(nameof(SelectedItem));
谢谢。
答案
您可以更改设置器:
private CK_Model _SelectedItem;
public CK_Model SelectedItem
get return _SelectedItem;
set
_SelectedItem = value;
OnPropertyChanged(nameof(SelectedItem));
_anotherPageViewModel.YourProperty = _SelectedItem;
以上是关于如何将listView的selectedItem值传递到wpf MVVM中的另一页的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 ListView1.SelectedItems().Text
将 ListView 的 SelectedItems 绑定到 ViewModel