InlineUIContainer中的Windows 8 WinRT Xaml Grid

时间:2012-09-28 14:09:34

标签: c# xaml windows-8 windows-runtime

在我的Windows 8 ItemDetail视图中,我想将叠加图像添加到InlineUIContainer元素中包含的标准图像。

这是我正在使用的xaml:

<Paragraph LineStackingStrategy="MaxHeight">
    <InlineUIContainer>
        <Grid x:Name="MediaGrid" Width="560" Height="315" Margin="0,20,0,10">
            <Grid.Background>
                <ImageBrush ImageSource="{Binding Image}" Stretch="UniformToFill" />
            </Grid.Background>
            <Button Click="Button_Click" Background="Transparent" BorderBrush="Transparent" BorderThickness="0">
                <Button.Template>
                    <ControlTemplate TargetType="Button">
                        <Image x:Name="OverlayImage" Visibility="{Binding ShowVideo, Converter={StaticResource booleanToVisibilityConverter}}" Source="ms-appx:///Assets/play-icon.png"/>
                    </ControlTemplate>
                </Button.Template>
            </Button>
        </Grid>
    </InlineUIContainer>
</Paragraph>

当应用处于横向模式时,此功能非常有效。但是,只要我在纵向模式下旋转或打开应用程序,我就会收到错误:

LayoutAwarePage.cs WinRT information: Cannot resolve TargetName image. Additional information: Unspecified error

中的

VisualStateManager.GoToState(control, DetermineVisualState(ApplicationView.Value), false);

有谁知道为什么?经过一些消除过程后,当我在InlineUIContainer中有一个Grid时,似乎就会发生这种情况。

1 个答案:

答案 0 :(得分:2)

看起来控件名称'image'缺失,仅在VisualState更改时触发