Я пытаюсь создать что-то вроде анимационного фильма, где в данный момент видно только одно из его полей.Как кинопленка в камере - только одно поле пленки в настоящее время размещено под объективом и готово для освещения.Я пытаюсь добиться этого как сетка с другой сеткой.«Кинолента» называется pageContainer в приведенном ниже коде.В коде позади я делаю анимацию, которая изменяет свойство Margin сетки pageContainer.Работает отлично, pageContainer приятно скользит влево или вправо, как я хочу.Например: чтобы показать номер страницы.2 маржа установлена на (-270,0,0,0) вместо (0,0,0,0).Это перемещает pageContainer влево, и вместо первого видно только второе поле.
Однако, как только я начинаю изменять размер всего пользовательского интерфейса, этот механизм перестает работать, и пользователь может видеть границу между двумястраницы (поля) вместо только текущей.Если я ставлю точку останова на свой pageWidthConverter, он всегда срабатывает при изменении размера всего пользовательского интерфейса.Если я добавлю другую точку останова на pageMarginConverter, она никогда не будет достигнута во время изменения размера.Зачем?Я хотел бы сделать свойство Margin зависимым от BackgroundRectangle ActualWidth так же, как я сделал это со свойством Width.Но это не работает.Почему Width динамически устанавливается при изменении размера окна, но Margin - это не *
PS: вместо Margin можно использовать TranslateTransform.Я пытался, но безуспешно.
Если кто-то может помочь, это будет очень высоко оценено.
Приветствия Ганс
... <Grid Grid.Row="3" Grid.Column="1" Margin="0,-4,0,0" ClipToBounds="True">
<Grid x:Name="pageContainer"
Width="{Binding Converter={StaticResource pageWidthConvertor}, ElementName=BackgroundRectangle, Path=ActualWidth}"
Margin="{Binding Converter={StaticResource pageMarginConvertor}, ElementName=BackgroundRectangle, Path=ActualWidth}" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="{Binding ElementName=BackgroundRectangle, Path=ActualWidth}"/>
<ColumnDefinition Width="40"/>
<ColumnDefinition Width="{Binding ElementName=BackgroundRectangle, Path=ActualWidth}"/>
<ColumnDefinition Width="40"/>
<ColumnDefinition Width="{Binding ElementName=BackgroundRectangle, Path=ActualWidth}"/>
<ColumnDefinition Width="40"/>
<ColumnDefinition Width="{Binding ElementName=BackgroundRectangle, Path=ActualWidth}"/>
<ColumnDefinition Width="40"/>
</Grid.ColumnDefinitions> ...