|
Окно становится недоступным после перемещения
|
|||
---|---|---|---|
#18+
У меня есть окно 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(); После перемещения окно становится неактивным, кнопы и комбобокс не работают. Не знаете почему? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2017, 12:11 |
|
Окно становится недоступным после перемещения
|
|||
---|---|---|---|
#18+
pr-yanka, какое окно становится неактивным? модальное или основное? попробуйте не холдить значение анимации. Если используйте только преобразование. Так как у вас перемещается окно, нужно использовать не RenderTransform, а LayoutTransform Translate, то имеет смысл избавиться от группы. Если у окна есть анимация какая то, имеет смысл реализовывать эту анимацию в самом окне, а не в его родителе. Надеюсь поможет, но это не точно :) не пробовал ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2017, 12:50 |
|
Окно становится недоступным после перемещения
|
|||
---|---|---|---|
#18+
Roman Mejtes, модальное становится неактивным. А что значит не холдить значение анимации? А как это сделать с помощью LayoutTransform? (у UIElement есть только RenderTransform). Аналогичная анимация будет применяться для других окон, так что... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2017, 13:11 |
|
Окно становится недоступным после перемещения
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2017, 19:09 |
|
Окно становится недоступным после перемещения
|
|||
---|---|---|---|
#18+
pr-yankaRoman Mejtes, модальное становится неактивным. А что значит не холдить значение анимации? А как это сделать с помощью LayoutTransform? (у UIElement есть только RenderTransform). Аналогичная анимация будет применяться для других окон, так что... Layout это область элемента которую он занимает в своем координатном пространстве после того как был завершено макетирование визуального дерево. с помощью метода UpdateLayout можно его перезапустить. LayoutTransform это трансформации координат самого элемента управления относительно его положения в макете, а RenderTransform это трансформации его Visual элементов, то есть базовых графических элементов. То есть картинка съехала, а сам элемент остался там где был и вам надо искать кнопку ComboBox'а там где её на самом деле нет. LayoutTransform это свойство FrameworkElement, оба класса унаследованы от DependencyObject, а значит не зависимо от их типа можно обращаться к любому свойству зависимости. Просто делайте анимацию на LayoutTransform, А не RenderTransform. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2017, 11:39 |
|
|
start [/forum/topic.php?fid=21&msg=39547065&tid=1440478]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
178ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 237ms |
total: | 502ms |
0 / 0 |