我为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列:employeName,employNumber,这将显示在listView上
<control:listViewMyControl itemSource ="{Binding employes}" prop1="employeName" prop2="employNumber" />
但是当我有模块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>
提前致谢。