2012-10-31 87 views
2

今天早上我試圖再次運行我的C#/ XAML應用程序(此處提到的早期問題:Why did my XAML suddenly crash?)。標籤不是有效的XAML元素?

這一次,我至少得到了一些特定的錯誤信息,即「成員」ShowGridLines「無法識別或無法訪問。」和「Windows應用程序項目中不支持標籤」。

下面是完整的XAML:

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

    <Grid MinHeight="600" ShowGridLines="True" Background="{StaticResource ApplicationPageBackgroundThemeBrush}"> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="320"></ColumnDefinition> 
       <ColumnDefinition MaxWidth="800"></ColumnDefinition> 
      </Grid.ColumnDefinitions> 
      <Grid.RowDefinitions> 
<RowDefinition/>      
<RowDefinition/>      
<RowDefinition/>      
<RowDefinition/>      
<RowDefinition/>      
<RowDefinition/>      
<RowDefinition/>      
<RowDefinition/>      
<RowDefinition/>      
<RowDefinition/>      
<RowDefinition/>      
<RowDefinition/>      

      </Grid.RowDefinitions> 
      <StackPanel Orientation="Horizontal"> 
       <Label MinWidth="40" Content="From"></Label> 
       <TextBox x:Name="textBoxFromDate" MinWidth="120"> 
       </TextBox> 
      </StackPanel> 
      <StackPanel Grid.Row="1" Orientation="Horizontal"> 
       <Label MinWidth="40">at 
       </Label> 
       <TextBox x:Name="textBoxFromTime" MinWidth="120" Grid.Row="1"> 
       </TextBox> 
      </StackPanel> 
      <StackPanel Grid.Row="2" Orientation="Horizontal"> 
       <Label MinWidth="40">To 
       </Label> 
       <TextBox x:Name="textBoxToDate" MinWidth="120"> 
       </TextBox> 
      </StackPanel> 
      <StackPanel Grid.Row="3" Orientation="Horizontal"> 
       <Label MinWidth="40">at 
       </Label> 
       <TextBox x:Name="textBoxToTime" MinWidth="120" Grid.Row="1"> 
       </TextBox> 
      </StackPanel> 
      <Button 
     x:Name="buttonFindLocForDateRange" 
     MaxWidth="200" 
     Grid.Row="4" 
     Content="Find Location for Date Range"> 
      </Button> 
      <Label 
     x:Name="labelPerson1_Red" 
     Grid.Row="5" 
     Content="(Person1_Red)" 
     Foreground="Red"> 
      </Label> 
      <Label 
     x:Name="labelPerson2_Orange" 
     Grid.Row="6" 
     Content="(Person2_Orange)" 
     Foreground="Orange"> 
      </Label> 
      <Label 
     x:Name="labelPerson3_Yellow" 
     Grid.Row="7" 
     Content="(Person3_Yellow)" 
     Foreground="Yellow"> 
      </Label> 
      <Label 
     x:Name="labelPerson4_Green" 
     Grid.Row="8" 
     Content="(Person4_Green)" 
     Foreground="Green"> 
      </Label> 
      <Label 
     x:Name="labelPerson5_Blue" 
     Grid.Row="9" 
     Content="(Person5_Blue)" 
     Foreground="Blue"> 
      </Label> 
      <Label 
     x:Name="labelPerson6_Indigo" 
     Grid.Row="10" 
     Content="(Person6_Indigo)" 
     Foreground="Indigo"> 
      </Label> 
      <Label 
     x:Name="labelPerson7_Violet" 
     Grid.Row="11" 
     Content="(Person7_Violet)" 
     Foreground="Violet"> 
      </Label> 
      <StackPanel Grid.Column="1" Orientation="Horizontal"> 
       <Image> 
       </Image> 
       <Label>Prev 
       </Label> 
       <Label x:Name="labelSectionN" Content="(Section N)"> 
       </Label> 
       <Label>Next 
       </Label> 
      </StackPanel> 
      <!-- Add a Bing Map component: Grid.Column="1" Grid.Row="1" Grid.RowCount="11" --> 
     </Grid> 
</Page> 

注:與唯一的區別是,XAML的初始和名稱空間部分很簡單:

<Page 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 

...並有在網格屬性中沒有Background =「{StaticResource ApplicationPageBgroundgroundmeBrush}」,這個XAML在Kaxaml中顯示它應該的樣子(現在非常醜陋,但這是可以預料的)。

+0

缺少前面問題的鏈接。此外,請注意,您可以自行關閉像RowDefinition這樣的標籤,例如''而不是'' – Basic

+0

謝謝;我會添加鏈接(有時候我覺得我*是*缺少的鏈接);並感謝提示。 –

+0

可以肯定的是 - 您正在開發Windows應用商店(WinRT)應用,對吧?而不是WPF應用程序? –

回答

2

您已經編寫了一些僅支持WPF應用程序而不支持WinRT的XAML。
WinRT不包含Label控件,Grid沒有ShowGridLines屬性,這就是爲什麼代碼無法正常工作的原因。

WPF和WinRT是兩種獨立的技術 - 兩種都恰好使用XAML創建用戶界面 - 但您不應該期望在WPF中編寫的XAML將在WinRT中工作,反之亦然。

相關問題