powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Окно становится недоступным после перемещения
6 сообщений из 6, страница 1 из 1
Окно становится недоступным после перемещения
    #39543928
pr-yanka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня есть окно ModalWindow

<UserControl x:Class="TestMySQL_DB.ModalWindow"
xmlns=" http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x=" http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc=" http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d=" http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d" Width="245.5" Height="278.5">
<Grid>

<Canvas Background="#FFC6E8E6">
<ComboBox x:Name="comboBox" HorizontalAlignment="Left" Margin="10,144,0,0" VerticalAlignment="Top" Width="224" ItemsSource="{Binding Path=Dimentions}">
</ComboBox>
<Button x:Name="button" Content="Отмена" HorizontalAlignment="Left" Margin="33,239,0,0" VerticalAlignment="Top" Width="76"/>
<Button x:Name="button_Copy" Content="Добавить" HorizontalAlignment="Left" Margin="135,239,0,0" VerticalAlignment="Top" Width="76"/>


</Canvas>
</Grid>
</UserControl>

Оно отрисовывается в главном окне:

<local:ModalWindow x:Name="newControl1" Margin="650,93,10,0" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5" Height="256" Width="Auto" DataContext="{Binding CurrentViewModel}">
<local:ModalWindow.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</local:ModalWindow.RenderTransform>
</local:ModalWindow>



В главном окне также объявлена анимация:


<Window.Resources>
<SolidColorBrush x:Key="GrayMaskColorBrush" Color="#88000000" Opacity="0.75"/>
<Storyboard x:Key="Open">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)" Storyboard.TargetName="newControl1">
<EasingDoubleKeyFrame KeyTime="0" Value="0"/>
<EasingDoubleKeyFrame KeyTime="0:0:1.0" Value="-597"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>


Которую я активирую по нажатию по отношению к окну ModalWindow:


Storyboard sb = this.FindResource("Open") as Storyboard;
Storyboard.SetTarget(sb, this.newControl1);
sb.Begin();


После перемещения окно становится неактивным, кнопы и комбобокс не работают.
Не знаете почему? :)
...
Рейтинг: 0 / 0
Окно становится недоступным после перемещения
    #39543942
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pr-yanka,

какое окно становится неактивным? модальное или основное?
попробуйте не холдить значение анимации. Если используйте только преобразование.
Так как у вас перемещается окно, нужно использовать не RenderTransform, а LayoutTransform
Translate, то имеет смысл избавиться от группы.
Если у окна есть анимация какая то, имеет смысл реализовывать эту анимацию в самом окне, а не в его родителе.

Надеюсь поможет, но это не точно :) не пробовал
...
Рейтинг: 0 / 0
Окно становится недоступным после перемещения
    #39543957
pr-yanka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman Mejtes,

модальное становится неактивным.
А что значит не холдить значение анимации?
А как это сделать с помощью LayoutTransform? (у UIElement есть только RenderTransform).
Аналогичная анимация будет применяться для других окон, так что...
...
Рейтинг: 0 / 0
Окно становится недоступным после перемещения
    #39544045
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Окно становится недоступным после перемещения
    #39544270
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pr-yankaRoman Mejtes,

модальное становится неактивным.
А что значит не холдить значение анимации?
А как это сделать с помощью LayoutTransform? (у UIElement есть только RenderTransform).
Аналогичная анимация будет применяться для других окон, так что...
Layout это область элемента которую он занимает в своем координатном пространстве после того как был завершено макетирование визуального дерево. с помощью метода UpdateLayout можно его перезапустить.
LayoutTransform это трансформации координат самого элемента управления относительно его положения в макете, а RenderTransform это трансформации его Visual элементов, то есть базовых графических элементов.
То есть картинка съехала, а сам элемент остался там где был и вам надо искать кнопку ComboBox'а там где её на самом деле нет.
LayoutTransform это свойство FrameworkElement, оба класса унаследованы от DependencyObject, а значит не зависимо от их типа можно обращаться к любому свойству зависимости.
Просто делайте анимацию на LayoutTransform, А не RenderTransform.
...
Рейтинг: 0 / 0
Окно становится недоступным после перемещения
    #39547065
pr-yanka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не знаю, что произошло, но всё теперь работает с тем же кодом, который был.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Окно становится недоступным после перемещения
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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