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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запретить трансформацию "детей" 
:(
    Опции темы
San4o_Pan4o
Дата 21.3.2009, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 16.12.2007

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



Есть Grid, а где-то внутри него есть еще Label с текстом. К Grid'у я применяю ScaleTransform и в результате лэйбл тоже растет/уменьшается, а мне бы хотелось его в покое оставить.. Такое возможно? Как? Спасибо.  smile 
PM MAIL   Вверх
dazy
Дата 21.3.2009, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 15.9.2006

Репутация: 3
Всего: 8



Как растет? Шрифт увеличивается или границы лейбла?
PM MAIL   Вверх
San4o_Pan4o
Дата 21.3.2009, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 16.12.2007

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



Цитата

Как растет? Шрифт увеличивается или границы лейбла? 

шрифт
PM MAIL   Вверх
dazy
Дата 22.3.2009, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 15.9.2006

Репутация: 3
Всего: 8



Наверное так и должно быть.
Ведь ScaleTransform, это что-то типа увеличительного стекла.
Может просто изменять физические размеры таблицы вместо масштабирования. Мне кажется так проще будет.
PM MAIL   Вверх
Mikant
Дата 22.3.2009, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 9.1.2007

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



у УИэлемента есть не только маргины, а еще и предпочтительные размеры. фиксируя их - избегаешь растяжения/сжатия
PM MAIL   Вверх
Idsa
Дата 22.3.2009, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 2
Всего: 62



Еще, думаю, сработает, если свойству трансформации лэйбла присвоить null (если в разметке, - {x:Null}).


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
San4o_Pan4o
Дата 23.3.2009, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 16.12.2007

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



Цитата

Наверное так и должно быть.
Ведь ScaleTransform, это что-то типа увеличительного стекла.
Может просто изменять физические размеры таблицы вместо масштабирования. Мне кажется так проще будет. 

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

Цитата

у УИэлемента есть не только маргины, а еще и предпочтительные размеры. фиксируя их - избегаешь растяжения/сжатия 

Пробовал и Width/Height, и MaxWidth/MaxHeight - ноль эффекта, если ты о них говорил.

Цитата

Еще, думаю, сработает, если свойству трансформации лэйбла присвоить null (если в разметке, - {x:Null}). 

Не уверен, что понял, что ты имеешь в виду.

Вот моя разметка:
Код

<DataTemplate DataType="{x:Type local:Photo}">
             <DataTemplate.Resources>
                 <Storyboard x:Key="TouchItem">
                     <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="border" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)">
                         <SplineDoubleKeyFrame KeyTime="00:00:00" Value="-1"/>
                         <SplineDoubleKeyFrame KeyTime="00:00:00.1000000" Value="1"/>
                         <SplineDoubleKeyFrame KeyTime="00:00:00.2000000" Value="-1"/>
                         <SplineDoubleKeyFrame KeyTime="00:00:00.3000000" Value="0"/>
                     </DoubleAnimationUsingKeyFrames>
                 </Storyboard>
             </DataTemplate.Resources>
                <Border Padding="1,1,1,1" BorderThickness="1" VerticalAlignment="Center" CornerRadius="5,5,5,5" Background="#FF000000" Margin="3,3,3,3" x:Name="border" RenderTransformOrigin="0.5,0.5"  Tag="{Binding Path=FullPath}"  MouseLeftButtonDown="Item_MouseLeftButtonDown">
                    <Border.RenderTransform>
                        <TransformGroup>
                            <ScaleTransform ScaleX="1" ScaleY="1"/>
                            <SkewTransform AngleX="0" AngleY="0"/>
                            <RotateTransform Angle="0"/>
                            <TranslateTransform X="0" Y="0"/>
                        </TransformGroup>
                    </Border.RenderTransform>
                <Border.BitmapEffect>
                    <DropShadowBitmapEffect Color="#FFFFFFFF" Direction="310" Opacity="0.44" ShadowDepth="4" Softness="0.22" />
                </Border.BitmapEffect>
                <Grid  VirtualizingStackPanel.IsVirtualizing="True" Width="100"
                  VirtualizingStackPanel.VirtualizationMode="Recycling" Margin="5" VerticalAlignment="Center">
                    <Grid.LayoutTransform>
                                        <ScaleTransform ScaleX="{Binding Path=Value, ElementName=Zoomer}" ScaleY="{Binding Path=Value, ElementName=Zoomer}" />
                    </Grid.LayoutTransform>
                    <StackPanel Margin="1" VirtualizingStackPanel.IsVirtualizing="True" VirtualizingStackPanel.VirtualizationMode="Recycling" VerticalAlignment="Center" Background="Black">
                                        <StackPanel.ToolTip>
                                        <ToolTip Style="{StaticResource ToolTipStyle}" >
                                            <StackPanel Background="Black" HorizontalAlignment="Left" VerticalAlignment="Center">
                                                <Label HorizontalAlignment="Center" Foreground="White" Content="{Binding Path=FileName}"/>
                                            </StackPanel>
                                            </ToolTip>
                                    </StackPanel.ToolTip>
                                        <Image Source="{Binding Path=Source, Converter={StaticResource LocalUriToImageConverter}}" 
                               VirtualizingStackPanel.IsVirtualizing="True" 
                                VirtualizingStackPanel.VirtualizationMode="Recycling"/>
                    <Label HorizontalContentAlignment="Center" FontSize="10" Foreground="White" Content="{Binding Path=FileName}" >
                   </StackPanel>
                 </Grid>
                </Border>
             <DataTemplate.Triggers>
                 <EventTrigger RoutedEvent="Mouse.MouseEnter">
                     <BeginStoryboard Storyboard="{StaticResource TouchItem}"/>
                 </EventTrigger>
             </DataTemplate.Triggers>
            </DataTemplate>

PM MAIL   Вверх
dazy
Дата 23.3.2009, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 15.9.2006

Репутация: 3
Всего: 8



- Вывести label из грида во вне. 
- Отрицательным margin добиться, чтобы label был как бы внутри грида.
- Все это взять в еще один общий грид.

Т.о. визуально label будет внутри грида, но не будет его "ребенком".
PM MAIL   Вверх
San4o_Pan4o
Дата 23.3.2009, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 16.12.2007

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



Цитата

- Вывести label из грида во вне. 
- Отрицательным margin добиться, чтобы label был как бы внутри грида.
- Все это взять в еще один общий грид.

Т.о. визуально label будет внутри грида, но не будет его "ребенком". 

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


 




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


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

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