Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / custom control на базе listbox и привязка к нему данных / 7 сообщений из 7, страница 1 из 1
19.05.2010, 15:52
    #36637036
AlexeiK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
custom control на базе listbox и привязка к нему данных
есть custom control
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
<UserControl x:Class="ArtTable"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
    <UserControl.Resources>
        <ItemsPanelTemplate x:Key="ListLayout">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="54*" />
                    <RowDefinition Height="54*" />
                    <RowDefinition Height="54*" />

                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="77*" />
                    <ColumnDefinition Width="77*" />
                    <ColumnDefinition Width="77*" />
                    <ColumnDefinition Width="77*" />
                </Grid.ColumnDefinitions>
            </Grid>
        </ItemsPanelTemplate>
    </UserControl.Resources>

        <ListBox ItemsPanel="{StaticResource ListLayout}">
        
    </ListBox>

</UserControl>

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

то есть я заполняю DP под названием Items и получаю список в виде грида, в порядке слева направо, сверх вниз.
количество данных всего 12.

не знаю как реализовать такое.
...
Рейтинг: 0 / 0
19.05.2010, 16:53
    #36637258
AlexeiK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
custom control на базе listbox и привязка к нему данных
полазив по инету нашел:
http://stackoverflow.com/questions/160391/listbox-with-grid-as-itemspaneltemplate-produces-weird-binding-errors
]это

подправил свой uc:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
<UserControl x:Class="ArtTable"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
    <UserControl.Resources>
        <Style x:Key="ArtLayout" TargetType="{x:Type ListBoxItem}">
            <Setter Property="Grid.Row" Value="{Binding Path=Row }" />
            <Setter Property="Grid.Column" Value="{Binding Path=Col }" />
        </Style>
        <ItemsPanelTemplate x:Key="ListLayout">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="54*" />
                    <RowDefinition Height="54*" />
                    <RowDefinition Height="54*" />

                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="77*" />
                    <ColumnDefinition Width="77*" />
                    <ColumnDefinition Width="77*" />
                    <ColumnDefinition Width="77*" />
                </Grid.ColumnDefinitions>
            </Grid>
        </ItemsPanelTemplate>
    </UserControl.Resources>

        <ListBox DisplayMemberPath="Cnt" x:Name="artlist" ItemsPanel="{StaticResource ListLayout}"
                 ItemContainerStyle="{StaticResource ArtLayout}">
        
    </ListBox>

</UserControl>

и код контрола :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
Imports System.Collections.ObjectModel
Partial Public Class ArtTable

    Private Sub ArtTable_Loaded(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles Me.Loaded
        Dim oc As ObservableCollection(Of Data)
        oc = New ObservableCollection(Of Data)
        oc.Add(New Data( 0 ,  0 , "1"))
        oc.Add(New Data( 0 ,  1 , "2"))
        oc.Add(New Data( 0 ,  2 , "3"))
        oc.Add(New Data( 0 ,  3 , "4"))
        oc.Add(New Data( 1 ,  0 , "5"))
        artlist.ItemsSource = oc
    End Sub
    Friend Class Data
        Private _row As Integer
        Private _col As Integer
        Private _cnt As String
        Sub New()

        End Sub
        Sub New(ByVal r As Integer, ByVal c As Integer, ByVal cnt As String)
            _row = r
            _col = c
            _cnt = cnt
        End Sub
        Public Property Row() As Integer
            Get
                Return Me._row
            End Get
            Set(ByVal value As Integer)
                Me._row = value
            End Set
        End Property

        Public Property Col() As Integer
            Get
                Return Me._col
            End Get
            Set(ByVal value As Integer)
                Me._col = value
            End Set
        End Property

        Public Property Cnt() As String
            Get
                Return Me._cnt
            End Get
            Set(ByVal value As String)
                Me._cnt = value
            End Set
        End Property
    End Class

End Class

это вариант без DP. но суть отражает.
спасибо всем кто начал думать.
...
Рейтинг: 0 / 0
19.05.2010, 18:52
    #36637568
Silverlight
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
custom control на базе listbox и привязка к нему данных
автора дальше мне нужно,чтобы данные легли в листбокс, притом ,точно по ячейкам грида, слева направо,сверх вниз.

wrapanel предназначенна именно для этих целей
...
Рейтинг: 0 / 0
19.05.2010, 18:53
    #36637570
AlexeiK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
custom control на базе listbox и привязка к нему данных
Silverlight,

грид выбран,потому что wrappanel слишком плохо разукрашивается :) и позиционирование там не жесткое в зависимости от ширины элемента.
...
Рейтинг: 0 / 0
19.05.2010, 19:06
    #36637591
Silverlight
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
custom control на базе listbox и привязка к нему данных
Зачем тебе DP для списка с enum? Сделай конвертер для транспонирования в массив или строку
...
Рейтинг: 0 / 0
19.05.2010, 19:15
    #36637605
AlexeiK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
custom control на базе listbox и привязка к нему данных
Silverlight,

это тут enum.
а в реале картинки :) из бд
...
Рейтинг: 0 / 0
20.05.2010, 18:09
    #36639952
уТКа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
custom control на базе listbox и привязка к нему данных
AlexeiK,

то, что Вы привели в качестве "контрола", к сожалению таковым не является, смотрите сюда и сюда
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / custom control на базе listbox и привязка к нему данных / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]