我为 listView 创建了一个通用控件,我想更改 listView 中每个项目的内容。DisplayMemberPath 之类的东西,但我需要发送两个对于任何一个屏幕都不相同的值。
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<TextBlock Text="{Binding Property1}"/>
<TextBlock Text="{Binding Setter2}"/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
在下一个屏幕上我想要这样的东西
<TextBlock Text="{Binding SuperNewProperty}"/>
<TextBlock Text="{Binding Setter2xyz}"/>
如何创建具有变量绑定的控件,例如:
<TextBlock Text="{Binding {Binding MySpecificValue}"/>
这显然是一件愚蠢的事情,但它最好地描述了我想要做什么。
完成:
好的,我有一些模块 Employes.xaml 在哪里调用,我的控件具有一些依赖属性,如 itemSource 和 prop1、prop2(我想同时使用它们,比如显示成员路径)。
ItemSource 是来自 DB 的 IEnumerable,包含 2 列:employeeName、employNumber,这将显示在 listView 上
<control:listViewMyControl itemSource ="{Binding employes}" prop1="employeName" prop2="employNumber" />
但是当我有 modul Cities.xaml 时,我需要将 prop1、prop2 绑定到另一个列名、cityName、cityRank 或其他
<control:listViewMyControl itemSource ="{Binding cities}" prop1="cityName" prop2="cityRank " />
当我想为 listview 显示两种不同类型的 listviewitems 时,问题就来了
// my user control listViewMyControl
<ListView x:Name="listView1">
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<TextBlock Text="{Binding employeName}"/>
<TextBlock Text="{Binding employeNumber}"/>
<TextBlock Text="{Binding cityName}"/>
<TextBlock Text="{Binding cityRank}"/>
// but i want only something like display member path for two labels, input modules may be more (employes, cities, cars, stations, .....) something like this
<TextBlock Text="{Binding {Binding MySpecificValue}"/>
<TextBlock Text="{Binding {Binding MySpecificValue2}"/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
提前致谢。