2011-03-12 52 views
0

我正在開發window phone 7應用程序。我不熟悉window phone 7應用程序。我將數據動態綁定到ListBox內的TextBlock。我正在使用下面的代碼來顯示列表框中的數據。如何在Silverlight中的單個ListBox中顯示不同寬度的數據?

<ListBox Margin="16,161,30,186" Name="IncomeSummaryListBox" DataContext="{Binding}" Grid.ColumnSpan="3"> 
         <ListBox.ItemTemplate> 
          <DataTemplate> 
           <StackPanel Orientation="Horizontal"> 
            <TextBlock TextWrapping="Wrap" Width="200" Text="{Binding Key}" Foreground="Gray"></TextBlock> 
            <TextBlock TextWrapping="Wrap" Width="200" Text="{Binding Value}" Foreground="Orange"></TextBlock> 
            <Line X1="-3400" Y1="32" X2="10" Y2="32" Stroke="Gray" StrokeThickness="1"/> 
           </StackPanel> 
          </DataTemplate> 
         </ListBox.ItemTemplate> 
         <ListBox.Template> 
          <ControlTemplate> 
           <ScrollViewer HorizontalScrollBarVisibility="Visible"> 
            <ItemsPresenter /> 
           </ScrollViewer> 
          </ControlTemplate> 
         </ListBox.Template> 
        </ListBox> 

我正在使用組合框來顯示列表框中的數據。列表框中的數據根據​​組合框中的選擇而變化。因此,對於某些選擇,我希望文本塊的寬度爲1400,對於某些選擇,我希望文本塊的寬度爲200.這是Text =「{Binding Key}」文本塊的要求。如果沒有指定正確的寬度,則無法正確顯示數據。如何解決上述問題。你能否給我提供任何可以解決上述問題的代碼或鏈接?如果我做錯了什麼,請指導我。

回答

1

爲什麼不創建Width屬性的綁定呢?然後您可以根據需要在頁面類中將其設置爲1400或200。

相關問題