2

我为 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>

提前致谢。

4

0 回答 0