wpf - 如何将listView的selectedItem值传递到wpf MVVM中的另一个页面
问题描述
我对 wpf 不太熟悉,所以需要帮助。我想使用绑定将列表视图中所选项目的值传递给另一个页面文本框。我已成功获得选定的值,但不知道如何在另一页上传递它。请帮忙
<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;
}
}
推荐阅读
- python - 如何在 setup.py 中指定 `--formats` sdist 选项?
- html - HTML 将页脚内容与页面包装器对齐
- sql - oracle数据库在表列'SYS_###########'中创建什么?
- twilio - Twilio 按内容过滤消息?
- docker - 在 Fedora Docker Image 中找不到任何手册页
- user-interface - 如何在Install4j中禁用屏幕的十字按钮
- django - 数据没有保存到数据库中,而是显示在 Django 的终端上
- botframework - Microsoft Azure 机器人服务主动向群组(会议)聊天发送消息
- uipath - 如何使用 UiPath 打开受密码保护的文件?
- javascript - 在 Ubuntu 上使用 Puppeteer 时 page.setCookie 没有影响