2013-05-26 55 views
0

我有一個列表框綁定到我的視圖模型中的類。這個類有許多屬性,但我想在我的列表框中顯示其中的兩個。如何在listBox的text屬性中使用multibinding?

我看到的例子(post

的主要代碼是這樣的:

<ListBox ItemsSource="{Binding PersonList}"> 
     <ListBox.ItemTemplate> 
     <DataTemplate> 
      <TextBlock> 
       <TextBlock.Text> 
        <MultiBinding Converter="{StaticResource mvc}" 
           ConverterParameter=", "> 
        <Binding Path="LastName"/> 
        <Binding Path="FirstName"/> 
        </MultiBinding> 
       </TextBlock.Text> 
      </TextBlock> 
     </DataTemplate> 

     </ListBox.ItemTemplate> 
    </ListBox> 

我的問題是,當我嘗試使用它時,是不是在我axml avaliable。所以我不能繼續使用這些代碼。

爲什麼我不能多重綁定?

我axml是:

<ListBox HorizontalAlignment="Stretch" Margin="5,41,0,0" Name="lsbPersonas" VerticalAlignment="Stretch" Grid.Row="1" 
       ItemsSource="{Binding Personas}" 
       SelectionMode="Extended" Height="112"> 


      <ListBox.ItemTemplate> 
       <DataTemplate> 
        <TextBlock> 
         <TextBlock.Text> 
          <Multibinding ???? (I don't have this avaliable) 
         </TextBlock.Text> 
        </TextBlock> 
       </DataTemplate> 
      </ListBox.ItemTemplate> 
</ListBox> 

感謝。

回答

1

您可能尚未在項目中添加合適的綁定轉換器(如代碼示例中的靜態資源mvc)。

幸運的是,它甚至沒有必要。您可以設置MultiBinding的StringFormat屬性:

<TextBlock.Text> 
    <MultiBinding StringFormat="{}{0}, {1}"> 
     <Binding Path="LastName"/> 
     <Binding Path="FirstName"/> 
    </MultiBinding> 
</TextBlock.Text> 
+0

是的,我有一個wondow資源,其中有我的轉換器。然而,問題不是這樣,但我不能確保Multibinding。我只有![CData [,?,/TextBlock.text,cmd:,i:和x: –

+1

你的意思是在智能感知?那麼,有時它並沒有顯示你可以寫的所有東西。只需編寫MultiBinding,它就會編譯。 – Clemens

+0

確實如此,我使用了代碼,編譯和工作。非常感謝你。 –

相關問題