Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Binding canvas 
V
    Опции темы
DenWPF
Дата 31.5.2011, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



silverlight 4

Код

                <Canvas Margin="10" 
                Background="AliceBlue"   Width="300" Height="300">
                    <ItemsControl ItemsSource="{Binding Table}">
                        <ItemsControl.ItemTemplate>
                            <DataTemplate>
                                <Border Canvas.Left="{Binding x}" MouseLeftButtonDown="Border_MouseLeftButtonDown">
                                    <StackPanel>
                                        <TextBox Text="{Binding x}"/>
                                   

                                    </StackPanel>
                                </Border>
                            </DataTemplate>
                        </ItemsControl.ItemTemplate>
                    </ItemsControl>
                </Canvas>


TextBox - показывает число, но вот смещение не идет.

Это сообщение отредактировал(а) DenWPF - 31.5.2011, 14:50
PM MAIL   Вверх
-Mikle-
Дата 2.6.2011, 06:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 13
Всего: 59



А по какой причине оно должно быть? В ItemsControl по умолчанию для позиционирования элементов StackPanel используется. Если хочешь абсолютное позиционирование айтемов, то поставь канвас в качестве панели
Код

<ItemsControl>
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <Canvas/>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
</ItemsControl>

Тогда у тебя все айтемы будут с абсолютным позиционированием, это раз. Во вторых, ты используешь DataTemplate, содержимое которого в визуальном дереве ложится в ContentPresenter. В общем мне не понятна задача, чтоб что-то говорить.


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
DenWPF
Дата 2.6.2011, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



у меня в базе хранятся кординаты х y. и размер.
вот нужно забиндить и нарисовать их на канвасе.
PM MAIL   Вверх
-Mikle-
Дата 3.6.2011, 06:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 13
Всего: 59



Код

            <ItemsControl ItemsSource="{Binding SomeItems}">
                <ItemsControl.ItemTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding Name}">
                            <TextBlock.RenderTransform>
                                <TranslateTransform X="{Binding X}" Y="{Binding Y}"/>
                            </TextBlock.RenderTransform>
                        </TextBlock>
                    </DataTemplate>
                </ItemsControl.ItemTemplate>
            </ItemsControl>


Добавлено через 1 минуту и 16 секунд
Можно еще сделать свою панель, наследовавшись от Canvas и там реализовать нужную логику расположения.


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0430 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.