简体   繁体   English

'System.Windows.Controls.Grid'不包含'setRow'WP 8项目的定义

[英]'System.Windows.Controls.Grid' does not contain a definition for 'setRow' WP 8 project

I am trying to make a cryptogram puzzle for Windows 8 Phone. 我正在尝试为Windows 8 Phone创建密码难题。 .net framework is 4.5 .net框架是4.5

I am encountering this following error: 'System.Windows.Controls.Grid' does not contain a definition for 'setRow' at Grid.setRow(txt, x); 我遇到以下错误: 'System.Windows.Controls.Grid'在Grid.setRow(txt,x)处不包含'setRow'的定义 I want to create textboxes dynamically, without using XAML... 我想动态创建文本框,而不使用XAML ...

To the best of my knowledge, Windows.Controls.Grid has a static method Grid.setRow(UIelement, int).. 就我所知,Windows.Controls.Grid具有静态方法Grid.setRow(UIelement,int)。

Here is MainPage.xaml.cs 这是MainPage.xaml.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using Microsoft.Phone.Controls;
using System.Windows.Resources;
using System.IO;

namespace CryptogramPuzzle
{
public partial class MainPage : PhoneApplicationPage
{
    List<string> quotes;
    List<TextBox> tb;
    int length = 0;
    int width;
    int height;
    // Constructor
    public MainPage()
    {
        InitializeComponent();

        Random r = new Random();
        string encodedStr;

        InitializeComponent();

        getQuotes();
        int rInt = r.Next(0, quotes.Count()); //generates random index for a quote selection
        encodedStr = Encryption.encode(quotes[rInt]);
        length = encodedStr.Length;
        createTxtBox(0, 0);
    }

    /// <summary>
    /// Loads quotes from the text file
    /// </summary>
    public void getQuotes()
    {
        quotes = new List<string>();
        try
        {
            StreamResourceInfo sInfo = Application.GetResourceStream(new Uri("/CryptogramPuzzle;component/Resources/Puzzles.txt", UriKind.Relative));
            StreamReader sr = new StreamReader(sInfo.Stream);//feeds the reader with the stream
            string line;
            while ((line = sr.ReadLine()) != null)
            {
                quotes.Add(line);
            }
            sr.Close();
            // System.Console.WriteLine(quotes[0]);

        }
        catch (Exception e)
        {
            throw (e);
        }
    }

    public void createTxtBox(int x, int y)
    {
        TextBox txt = new TextBox();
        RowDefinition newRow = new RowDefinition();
        newRow.Height = new GridLength(0, GridUnitType.Auto);
        ContentPanel.RowDefinitions.Add(newRow);
        txt.MinHeight = 10;
        txt.MinHeight = 10;
        ContentPanel.Children.Add(txt);
        Grid.setRow(txt, x);

    }


}
 }

Here is my MainPage.xaml : 这是我的MainPage.xaml

<phone:PhoneApplicationPage
x:Class="CryptogramPuzzle.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
shell:SystemTray.IsVisible="True">

<!--LayoutRoot is the root grid where all page content is placed-->
<Grid x:Name="LayoutRoot" Background="Transparent">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>

    <!-- LOCALIZATION NOTE:
        To localize the displayed strings copy their values to appropriately named
        keys in the app's neutral language resource file (AppResources.resx) then
        replace the hard-coded text value between the attributes' quotation marks
        with the binding clause whose path points to that string name.

        For example:

            Text="{Binding Path=LocalizedResources.ApplicationTitle, Source={StaticResource LocalizedStrings}}"

        This binding points to the template's string resource named "ApplicationTitle".

        Adding supported languages in the Project Properties tab will create a
        new resx file per language that can carry the translated values of your
        UI strings. The binding in these examples will cause the value of the
        attributes to be drawn from the .resx file that matches the
        CurrentUICulture of the app at run time.
     -->

    <!--TitlePanel contains the name of the application and page title-->
    <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
        <TextBlock Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}" Margin="12,0"/>
        <TextBlock Text="page name" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
    </StackPanel>

    <!--ContentPanel - place additional content here-->
    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">

    </Grid>

    <!--Uncomment to see an alignment grid to help ensure your controls are
        aligned on common boundaries.  The image has a top margin of -32px to
        account for the System Tray. Set this to 0 (or remove the margin altogether)
        if the System Tray is hidden.

        Before shipping remove this XAML and the image itself.-->
    <!--<Image Source="/Assets/AlignmentGrid.png" VerticalAlignment="Top" Height="800" Width="480" Margin="0,-32,0,0" Grid.Row="0" Grid.RowSpan="2" IsHitTestVisible="False" />-->
</Grid>

Please help me to fix this error, getting pretty desperate! 请帮助我解决此错误,变得非常绝望! Thank you. 谢谢。

If it's a standard framework method, I'm pretty sure standard Pascal-casing rules ( the guidelines that MS follows at least) dictate it would be called SetRow and not setRow . 如果这是一种标准框架方法,那么我很确定标准Pascal框式规则(至少MS遵循的准则 )规定它将被称为SetRow而不是setRow

And indeed it is . 确实如此

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 无法将类型为“ System.Windows.Controls.Grid”的对象转换为类型为“ System.Windows.Controls.TabItem”的对象 - Unable to cast object of type 'System.Windows.Controls.Grid' to type 'System.Windows.Controls.TabItem' 无法将&#39;System.Windows.Controls.Grid&#39;类型的对象强制转换为&#39;System.Windows.Shapes.Ellipse&#39;? - Unable to cast object of type 'System.Windows.Controls.Grid' to type 'System.Windows.Shapes.Ellipse'? 获取基于 WPF 网格的控件的键盘输入 (System.Windows.Controls.Grid) - Getting keyboard input to a control based on a WPF Grid (System.Windows.Controls.Grid) 错误:System.Windows.Controls.UIElementCollection&#39;不包含&#39;OfType&#39;的定义 - Error: System.Windows.Controls.UIElementCollection' does not contain a definition for 'OfType' 'System.Windows.Controls.Image'不包含'FromFile'的定义 - 'System.Windows.Controls.Image' does not contain a definition for 'FromFile' 无法访问LayoutRoot:无法将类型&#39;System.Windows.UIElement&#39;隐式转换为&#39;System.Windows.Controls.Grid&#39; - Can't access LayoutRoot: Cannot implicitly convert type 'System.Windows.UIElement' to 'System.Windows.Controls.Grid' System.Windows.Forms.Application&#39;不包含&#39;ExecutablePath的定义 - System.Windows.Forms.Application' does not contain a definition for 'ExecutablePath &#39;System.Windows.Rect&#39;不包含C#的&#39;Intersects&#39;定义 - 'System.Windows.Rect' does not contain a definition for 'Intersects' for C# &#39;System.Windows.Forms.DataGridViewRow&#39;不包含&#39;BackColor&#39;的定义 - 'System.Windows.Forms.DataGridViewRow' does not contain a definition for 'BackColor' System.Windows.Forms.HtmlDocument不包含GetElementByID的定义 - System.Windows.Forms.HtmlDocument does not contain a definition for GetElementByID
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM