Как отобразить данные, которые имеют разную ширину в одном ListBox в Silverlight? - PullRequest
0 голосов
/ 12 марта 2011

Я занимаюсь разработкой приложения для windows phone 7. Я новичок в приложении Windows Phone 7. Я динамически привязываю данные к TextBlock внутри ListBox. Я использую следующий код для отображения данных в 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 Ответ

1 голос
/ 12 марта 2011

Почему бы вам не создать привязку и для атрибута Width?Затем вы можете установить его на 1400 или 200 в соответствии с требованиями класса страницы.

...