C# 使用System.Windows.Media;和microsft.xna.framework.color放在一起?

C# 使用System.Windows.Media;和microsft.xna.framework.color放在一起?,c#,xna,C#,Xna,我正在尝试使用silverlight在xna中创建一个弹出窗口,但它抛出了一个错误,指出“system.windows.media.color”和“Microsoft.xna.framework.color”的引用存在歧义,是否有解决方案……如果有,任何建议都将非常有用 编辑: 好的,这已经起作用了,但是我现在有另一个问题,一个错误出现了,说‘元素已经是另一个元素的子元素了’……这里有人能帮我吗?该错误在到达“myStackPanel.Children.Add(txtnamentry);”时抛出

我正在尝试使用silverlight在xna中创建一个弹出窗口,但它抛出了一个错误,指出“system.windows.media.color”和“Microsoft.xna.framework.color”的引用存在歧义,是否有解决方案……如果有,任何建议都将非常有用

编辑:

好的,这已经起作用了,但是我现在有另一个问题,一个错误出现了,说‘元素已经是另一个元素的子元素了’……这里有人能帮我吗?该错误在到达“myStackPanel.Children.Add(txtnamentry);”时抛出行

  Border border = new Border();
                    border.BorderBrush = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.White);
                    border.BorderThickness = new Thickness(10);

                    StackPanel myStackPanel = new StackPanel();
                    myStackPanel.Background = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.Black);

                    //Textblock containing the name you input and its properties.
                    //txtNameEntry.Text = Microsoft.Phone.Info.DeviceExtendedProperties.GetValue("DeviceName").ToString();
                    txtNameEntry.Text = "Player 1";
                    txtNameEntry.Width = 350;
                    txtNameEntry.Height = 100;
                    txtNameEntry.MaxLength = 10;
                    txtNameEntry.FontFamily = new System.Windows.Media.FontFamily("Comis Sans MS");
                    txtNameEntry.FontSize = 48.0;
                    //txtNameEntry.Foreground = new System.Windows.Media.FontFamily(Colors.Orange);
                    txtNameEntry.Foreground = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.Orange);
                    txtNameEntry.Background = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.LightGray);
                    txtNameEntry.BorderBrush = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.LightGray);

                    //The ok button, which then allows you to procede into the game.
                    Button btnNameEntryOK = new Button();
                    btnNameEntryOK.Content = "Ok";
                    btnNameEntryOK.Background = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.Orange);
                    btnNameEntryOK.FontFamily = new System.Windows.Media.FontFamily("Comic Sans Ms");
                    btnNameEntryOK.FontSize = 25.0;
                    btnNameEntryOK.Width = 180;
                    btnNameEntryOK.Height = 70;
                    btnNameEntryOK.Click += new RoutedEventHandler(btnNameEntryOK_Click);
                    btnNameEntryOK.Margin = new Thickness(10);

                    //Place these in the order you want them to be renderd to the screen.
                    myStackPanel.Children.Add(txtNameEntry);
                    myStackPanel.Children.Add(btnNameEntryOK);
                    border.Child = myStackPanel;
                    nameEntry.Child = border;

                    //set screen position of pop up 
                    nameEntry.VerticalOffset = 100.0;
                    nameEntry.HorizontalOffset = 50.0;

                    //open pop up
                    nameEntry.IsOpen = true;
XAML:


如果由于通过
using
指令导入名称空间而产生歧义,则可以根据需要将完整名称空间用于适当的
颜色
对象

我不确定您需要在代码中准确地为该成员使用哪一个,因为您尚未发布它,但请不要仅使用
Color
使用:

Microsoft.Xna.Framework.Color.YOUR_MEMBER_CALL

或者,您可以使用Microsoft.Xna.Framework删除
使用System.Windows.Media指令;以最合适的为准。您在删除的名称空间中使用的任何其他类型都必须更新,以包括完整(或部分)名称空间,以限定其名称

最后一个选项是您可以指定一个。例如,如果您想对Silverlight颜色进行特殊调用,可以在文件顶部添加:

using SilverlightMedia = System.Windows.Media;
然后在代码的后面部分,您可以拥有:

var myColor = SilverlightMedia.Color.FromArgb(255, 255, 255, 255);

啊,好的,是的,这是有效的…但在一行中我有fontfamily,并声明了颜色…但这行txtNameEntry.Foreground=new System.Windows.Media.fontfamily(System.Windows.Media.colors.Orange);不起作用。如何设置fontfamily和文本框的颜色?
前台
属性使用画笔,而不是
fontfamily
。因此,您可能会有如下内容:
txtnamentry.Foreground=new System.Windwos.Media.SolidColorBrush(System.Windows.Media.Colors.Orange)编辑:然后有第二行指定字体系列:
txtNameEntry.fontfamine=new System.Windows.MEdia.fontfamine(“Arial”)好的,这对我很有帮助,谢谢,我现在遇到了另一个问题…请参见编辑谢谢可能想问一个新问题,你原来的问题已经得到了回答。
using SilverlightMedia = System.Windows.Media;
var myColor = SilverlightMedia.Color.FromArgb(255, 255, 255, 255);