【问题标题】:Metro UI: I'm switching xaml but images not loadingMetro UI:我正在切换 xaml 但图像未加载
【发布时间】:2012-05-29 17:11:29
【问题描述】:

我有一个多 xaml Metro 应用程序。我想通过单击按钮在 xaml 之间切换。

private void Button_Click_1(object sender, RoutedEventArgs e)
    {
        Window.Current.Content = new BlankPage1();
        this.InitializeComponent();
    }

    private void Button_Click_2(object sender, RoutedEventArgs e)
    {
        Window.Current.Content = new Sudoku.sudoku();
        Window.Current.Activate();            
    }

    private void Button_Click_3(object sender, RoutedEventArgs e)
    {
        TextTwist.text_twist ob= new TextTwist.text_twist();
        ob.InitializeComponent();
        Window.Current.Content = ob;           
    }

这是具有按钮的主要 xaml 的逻辑代码。 现在,当我单击 button1 (/button2/button3) 时,屏幕上会出现相应的 xaml,但未加载相关图像。 否则它们在设计器中完全可见。

请帮帮我。

这里是 xaml sn-p 的 1 个

<Grid x:Name="gridMain">
    <Grid.Background>
        <ImageBrush ImageSource="Assets/textTwist/blue_back.png"/>
    </Grid.Background>
    <ListView x:Name="lv"  HorizontalAlignment="Left" Height="565" Margin="49,99,0,0" VerticalAlignment="Top" Width="315" SelectionChanged="ListView_SelectionChanged_1" Opacity="0.95" FontSize="128">
        <ListView.Background>
            <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="Black" Offset="1"/>
                <GradientStop Color="#FF9CF147" Offset="0.261"/>
            </LinearGradientBrush>
        </ListView.Background>
    </ListView>
    <TextBox x:Name="txtblk" HorizontalAlignment="Left" Margin="436,207,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Height="126" Width="731" FontSize="72" AcceptsReturn="True" FontWeight="Bold" BorderThickness="0" Foreground="#FFF01D1D" CharacterSpacing="120">
        <TextBox.Background>
            <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="Black"/>
                <GradientStop Color="White" Offset="0.874"/>
            </LinearGradientBrush>
        </TextBox.Background>
    </TextBox>
    <Button x:Name="btnSubmit" Content="Submit Word" HorizontalAlignment="Left" Margin="874,479,0,0" VerticalAlignment="Top" Width="293" Click="btnSubmit_Click" Height="96" FontSize="36" FontWeight="Normal" FontFamily="Segoe Print">
        <Button.Background>
            <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="Black"/>
                <GradientStop Color="#FF7DE09C" Offset="0.926"/>
            </LinearGradientBrush>
        </Button.Background>
    </Button>
    <Image x:Name="imgWrong" HorizontalAlignment="Left" Height="277" Margin="436,433,0,0" VerticalAlignment="Top" Width="280" Source="Assets/textTwist/wronganswer.png" Stretch="UniformToFill" Visibility="Collapsed"/>
    <Image x:Name="imgRight" HorizontalAlignment="Left" Height="277" Margin="436,433,0,0" VerticalAlignment="Top" Width="280" Source="Assets/textTwist/rightanswer.png" Visibility="Collapsed"/>
    <Image HorizontalAlignment="Left" Height="146" Margin="480,28,0,0" VerticalAlignment="Top" Width="624" Source="Assets/textTwist/text-twist-turbo-art.jpg" Stretch="UniformToFill"/>
</Grid>

关联的图像是网格背景图像、按钮图像等。

【问题讨论】:

  • 关联图像是什么意思?您的意思是这些控件中的布局显示,但图像没有?图片是如何配置的?它只是 吗?如果是这样 - 这似乎是 WinRT 中的一个错误。您可以等待几天,看看它是否在发布预览中得到修复或寻找解决方法 - 例如使用 Frame 和 Page 控件而不是更改根元素。
  • 你能制作一个小的复制页面并发布 XAML 吗?

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


【解决方案1】:

使用 ms-appdata 或 ms-appx 格式设置您的图像源

<Image Source="ms-appdata:///local/myFileNotInTheAppPackage.png"/>

<Image Source="ms-appx:///Assets/myFilePartOfMyAppPackage.png"/>

【讨论】:

  • 我遇到了类似的问题。通过添加 ms-appx:///Assets... 问题已解决。奇怪的是,一个完全独立的项目我不需要使用 ms-appx。不知道有什么区别。有人知道吗? (我投了赞成票,因为它对我有用)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-02
  • 1970-01-01
  • 1970-01-01
  • 2022-01-04
  • 1970-01-01
相关资源
最近更新 更多