AdaptiveTrigger не работает UWP

У меня есть приложение UWP.

<GridView Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" x:Name="GridColections" IsItemClickEnabled="True" SelectionMode=" None " ItemsSource="{x:Bind DS.AllRem, Mode=OneWay}" ItemClick="GridColections_ItemClick" >
    <VisualStateManager.VisualStateGroups>
        <VisualStateGroup>
            <VisualState x:Name="Small">
                <VisualState.StateTriggers>
                    <AdaptiveTrigger MinWindowWidth="0" />
                </VisualState.StateTriggers>
                <VisualState.Setters>
                    <Setter Target="RemXML.Background" Value="Red" />
                </VisualState.Setters>
            </VisualState>
            <VisualState x:Name="Middle">
                <VisualState.StateTriggers>
                    <AdaptiveTrigger MinWindowWidth="400"/>
                </VisualState.StateTriggers>
                <VisualState.Setters>
                    <Setter Target="RemXML.Background" Value="Green"/>
                </VisualState.Setters>
            </VisualState>
            <VisualState x:Name="Big">
                <VisualState.StateTriggers>
                    <AdaptiveTrigger MinWindowWidth="500"/>
                </VisualState.StateTriggers>
                <VisualState.Setters>
                    <Setter Target="RemXML.Background" Value="Yellow"/>
                </VisualState.Setters>
            </VisualState>
        </VisualStateGroup>
    </VisualStateManager.VisualStateGroups>
    <GridView.ItemTemplate>
        <DataTemplate x:DataType="local:GetRem">
            <RelativePanel x:Name="RemXML"  Width="345" Background="Cyan">
                <TextBlock TextWrapping="Wrap" Text="{x:Bind ReminderName}"  Margin="5,5,0,0" RelativePanel.AlignLeftWithPanel="True" FontSize="20" />
                <TextBlock TextWrapping="Wrap" Text="{x:Bind ReminderDescription}" Margin="6,35,0,0" RelativePanel.AlignLeftWithPanel="True" FontSize="13.333"/>
                <CheckBox RelativePanel.AlignRightWithPanel="True" Margin="100,0,-200,0" Width="220"  RelativePanel.AlignVerticalCenterWithPanel="True">
                    <CheckBox.RenderTransform>
                        <CompositeTransform ScaleX="-1"/>
                    </CheckBox.RenderTransform>
                </CheckBox>
            </RelativePanel>
        </DataTemplate>
    </GridView.ItemTemplate>
</GridView>

Так что адаптивные триггеры в моем приложении не работают. Мне нужно изменить фон RelativePanel. Когда визуальное состояние у меня в первом элементе управления, у меня появляется ОШИБКА «Анимация пытается изменить объект с именем 'RemXML', но такой объект не может быть найден на странице». Когда визуальное состояние у меня в RelativePanel не работает


person SuxoiKorm    schedule 12.05.2016    source источник


Ответы (1)


Попробуйте поместить VisualStateManager внутри DataTemplate, у которого UserControl в качестве верхнего элемента.

<GridView.ItemTemplate>
    <DataTemplate x:DataType="local:GetRem">
        <UserControl>
            <VisualStateManager.VisualStateGroups>
                <VisualStateGroup>
                    <VisualState x:Name="Small">
            ......
            </VisualStateManager.VisualStateGroups>
            <RelativePanel x:Name="RemXML"  Width="345" Background="Cyan">
person Igor Ralic    schedule 12.05.2016
comment
@SuxoiKorm Вы пытались переместить часть VisualState внутри RelativePanel в ответ Играли? - person Romasz; 13.05.2016