找不到类型或命名空间名称(XAML新增功能)

时间:2012-09-10 12:50:26

标签: c# xml xaml visual-studio-2012 xml-namespaces

所以我正在尝试使用Visual Studio 2012在XAML文档上创建一个非常简单的骰子应用程序,但我无法弄清楚如何处理错误。我尝试使用bitmapimage添加;但它仍然无效。

以下是我遇到的错误:

Error   1   Undefined namespace. The 'using' URI refers to a namespace 'DiceRoll' that could not be found.
Error   2   The type or namespace name 'BitmapImage' could not be found (are you missing a using directive or an assembly reference?)

CS:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
using BitmapImage;

// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238

namespace DiceRoll
{
    /// <summary> 
    /// Interaction logic for MainWindow.xaml 
    /// </summary> 
    public partial class MainPage : Page
    {
        public MainPage()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            Random num = new Random();
            int Number = num.Next(1, 7);
            BitmapImage Img = new BitmapImage(new Uri(@"DiceFaces\" + Number.ToString() + ".bmp", UriKind.Relative));

            textBlock1.Text = Number.ToString() + " Number";
            image1.Source = Img;


        }
    }
}

XAML:

<Page
    x:Class="DiceRoll.MainPage"
    IsTabStop="false"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:DiceRoll"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <Grid>
        <TextBlock Height="56" HorizontalAlignment="Left" Margin="275,134,0,0" Name="textBlock1"  VerticalAlignment="Top" Width="182" />
        <Button Content="Roll a Dice" Height="23" HorizontalAlignment="Left" Margin="194,151,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" />
        <Image Height="72" HorizontalAlignment="Left" Margin="195,56,0,0" Name="image1" Stretch="Fill" VerticalAlignment="Top" Width="74" />
    </Grid>


</Page>

1 个答案:

答案 0 :(得分:5)

尝试

using System.Windows.Media.Imaging.BitmapImage;

而不是

using BitmapImage;

更简单的方法是让Visual Studio为您执行此操作: 右键单击代码中的BitmapImage - &gt;解决,并选择正确的命名空间(通常只有一个)

对于xaml,让Visual Studio也为你做,或者:

<Page ...
    xmlns:local="clr-namespace:System.Windows;assembly=DiceRoll"
/>