簡體   English   中英

如何將兩個屬性一起添加到列表框中?

[英]How can I append two properties together in a listbox?

我有兩個屬性,例如日期和數字。 我有一個列表框,當前將它們一個接一個地綁定,所以現在這兩個屬性占用了兩行。 我怎樣才能將它們一個接一個地排列? xaml不允許我將兩個屬性綁定到一個文本塊。

因此,這是我的列表框現在的外觀:

編號日期

我希望它看起來像:

編號日期

我的列表框代碼如下所示:

<ListBox HorizontalAlignment="Left" Margin="78,35,0,-32" Grid.Row="1" Width="300" ItemsSource="{Binding ListOfItems}" Grid.RowSpan="3" >
                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <StackPanel>
                                <TextBlock Text="{Binding Number}" />
                                <TextBlock Text="{Binding Date, StringFormat={}{0:MM/dd/yy}}" />
                            </StackPanel>
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>

您可以使用“運行”將多個屬性綁定到一個文本塊

 <TextBlock>
       <Run Text="{Binding Number}"></Run>
       <Run Text="{Binding Date, StringFormat={}{0:MM/dd/yy}}"></Run>
 </TextBlock>

多重綁定

 <TextBlock>
        <TextBlock.Text>
            <MultiBinding StringFormat="{}{0} + {1}">
                <Binding Path="Number" />
                <Binding Path="Date" />
            </MultiBinding>
        </TextBlock.Text>
  </TextBlock>

如果我理解正確,那么您需要在StackPanel中使用水平方向。 將您的DataTemplate更改為以下之一:

<StackPanel Orientation="Horizontal">
    <TextBlock Text="{Binding Number}" />
    <TextBlock Text="{Binding Date, StringFormat={}{0:MM/dd/yy}}" />
</StackPanel>

可能您希望StackPanel水平堆疊項目: Orientation="Horizontal"

(cfr。http://wpftutorial.net/StackPanel.html,http : //msdn.microsoft.com/zh-CN/library/ms752328 ( v= vs.110 ) .aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM