c# - WPF绑定文本块文本以更新属性,但文本由转换器更改
问题描述
我有一个带有文本块的树视图,它根据转换器显示一些文本。我希望文本框根据转换器中未使用的属性进行更新,但也是发送到转换器的对象的属性。
以下是我的树视图中层次结构模板中的文本块:
<TextBlock Text="{Binding Converter={StaticResource EntityIDToStrConverter},UpdateSourceTrigger=}" Margin="6" TextAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
这个转换器使用对象的 3 个不同属性根据我的需要返回一个字符串。所以通常我将我的文本块绑定到如下路径:
<TextBlock Text="{Binding Binding Path=Name, Converter={StaticResource EntityIDToStrConverter},UpdateSourceTrigger=}" Margin="6" TextAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
但这不允许我的对象传递给转换器,而只能传递给 Name 属性。如何使绑定对特定属性的更改敏感,同时仍将整个对象传递给转换器?
解决方案
多重绑定使我能够允许多个属性的值更改事件为每个属性更新此绑定。
这是我的 xaml 代码:
<TextBlock.Text>
<MultiBinding Converter="{StaticResource DataClassMultiValueConverter}">
<Binding Path="StationID" NotifyOnSourceUpdated="True"/>
<Binding Path="DeviceID" NotifyOnSourceUpdated="True"/>
<Binding Path="SubDeviceID" NotifyOnSourceUpdated="True"/>
</MultiBinding>
</TextBlock.Text>
推荐阅读
- imagemagick - 如何在imagemagick中剪出一个矩形(即设置为透明)?
- python - 使用数据集的均值和标准差对图像进行归一化
- node.js - 在猫鼬和Nodejs中删除父对象时如何删除对象引用(子对象)
- php - 数组中的VS Code PHP Intelephense对象未向->运算符显示属性和函数
- c# - 在 C# 中的列表中设置获取类
- python - Python Turtle 图形不等屏
- python - 在 Telethon 中,我只想在用户按下设置我的地址按钮后获取用户的加密地址
- sql - 如何使用可变数组输入测试 PL/SQL 过程
- android - 更换系统共享库之一后,nexus 5x 卡在 Google 屏幕上
- spring - API-GATEWAY 不起作用。抛出 java.net.UnknownHostException:无法解决