Может ли ListBox иметь столбцы в WP7? - PullRequest
2 голосов
/ 28 октября 2011

Я использовал список для отображения нескольких дат.Строка содержит дату, за которой следует число.И эта дата записывается как элемент в список.Я поставил пробелы после даты.Но у него есть проблема с выравниванием.Есть ли в любом случае, я могу установить вкладку после даты?Или есть способ установить столбцы для списка?

Пн, 1 сентября 2011 26

Чт, 16 октября 2011 (дольше ..) 30

Я не могуиспользуйте сетку, потому что элементы будут генерироваться динамически, поэтому количество строк не может быть известно заранее.

Существует ли какой-либо элемент управления с полосами прокрутки, который может отображать значения вышеуказанным способом?Там нет элемента управления под названием ListView в WP7 не так ли?Здесь не используется привязка, поэтому я не могу использовать DataTemplate !!Помогите !!

Алфа

Ответы [ 5 ]

2 голосов
/ 25 августа 2013

Вы можете использовать WrapPanel в качестве ItemsPanel из набора инструментов Silverlight. Проверьте следующее: http://www.geekchamp.com/articles/wp7-wrappanel-in-depth и http://www.codeproject.com/Questions/507167/Windowsplusphoneplus7plusHowplustoplusshowplustwop


1) Загрузить Silverlight для Windows Phone Toolkit
2) Добавить ссылку: Microsoft.Phone.Controls.Toolkit
3) Добавьте в телефон следующее: Исходный код PhoneApplicationPage
Xmlns: инструментарий = "CLR-пространства имена: Microsoft.Phone.Controls; сборка = Microsoft.Phone.Controls.Toolkit"
4) Пример списка управления:

<ListBox>
    <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <toolkit:WrapPanel ItemWidth="100" ItemHeight="50"/>
        </ItemsPanelTemplate>
    </ListBox.ItemsPanel>
    <ListBoxItem Content="Item1"/>
    <ListBoxItem Content="Item2"/>
    <ListBoxItem Content="Item3"/>
    <ListBoxItem Content="Item4"/>
    <ListBoxItem Content="Item5"/>
    <ListBoxItem Content="Item6"/>
</ListBox>
2 голосов
/ 28 октября 2011

Проверьте ответ на этот вопрос , может быть полезно, потому что то, о чем вы спрашиваете, может быть сделано таким образом.

UPDATE: В этом случае вам придется сделать это с помощью кода на c # следующим образом:
1- Добавить дату в текстовый блок:

TextBlock t = new TextBlock();
t.Text = _Date_;
t.Width = 100;  // set width you want to make all date entires have the same width

2- Добавить номер в другой текстовый блок:

TextBlock n = new TextBlock();
n.Text = _number_;
n.Width = 50;  // set width you want to make all date entires have the same width

3- Добавьте их обоих в стековую панель:

StackPanel st = new StackPanel();
st.Orientation = System.Windows.Controls.Orientation.Horizontal;
st.Children.Add(t);
st.Children.Add(n);

4- Добавить стек в список:

listBox1.Children.Add(st);

И вам придется повторять это для каждого элемента, который вы хотите добавить.

0 голосов
/ 28 октября 2011

Использовать сетку.И данные связывают это.Серьезно, нет никаких причин дурачиться с другими решениями.

0 голосов
/ 28 октября 2011

вы можете установить шаблон для ListItem. Если это будет сетка с двумя столбцами, это решит вашу проблему

0 голосов
/ 28 октября 2011

Я не уверен, что понимаю вашу проблему. Но я предполагаю, что использование стековой панели с горизонтальной ориентацией должно помочь. Удачи с Expression Blend? Вы можете найти элементы управления, которые могут решить вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...