2013-11-20 8 views
1

мой код C# работает, но код XAML не работает ... Я не знаю, какую ошибку я делаю. Я новичок в XAML, и я пытаюсь это изучить. Когда я удалить этот код:Почему мой код XAML не работает?

KeyDown = "HandleKeyDown"

Initialized = "MainWindow_Initilized" Background = "DimGray">

тогда нет никакой ошибки.

<Window x:Class="Tetris.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="MainWindow" Height="570" Width="525"> 
    KeyDown = "HandleKeyDown" 
    Initialized = "MainWindow_Initilized" Background ="DimGray"> 

    <DockPanel LastChildFill="False"> 
    <StackPanel DockPanel.Dock="Right" Width="127"> 
     <Label Content="Label" Height="56" Name="Scores" FontSize="28" FontWeight="Bold" /> 
     <Label Content="Label" Height="56" Name="Lines" FontSize="28" FontWeight="Bold"/> 
    </StackPanel> 
    <Grid Name="MainGrid" Height="500" Width="250"> 
     <Grid.RowDefinitions> 
     <RowDefinition/> 
     <RowDefinition/> 
     <RowDefinition/> 
     <RowDefinition/> 
     <RowDefinition/> 
     <RowDefinition/> 
     <RowDefinition/> 
     <RowDefinition/> 
     <RowDefinition/> 
     <RowDefinition/> 
     <RowDefinition/> 
     <RowDefinition/> 
     <RowDefinition/> 
     <RowDefinition/> 
     <RowDefinition/> 
     <RowDefinition/> 
     <RowDefinition/> 
     <RowDefinition/> 
     <RowDefinition/> 
     <RowDefinition/> 
     <RowDefinition/> 
     <RowDefinition/> 
     </Grid.RowDefinitions> 
     <Grid.ColumnDefinitions> 
     <ColumnDefinition/> 
     <ColumnDefinition/> 
     <ColumnDefinition/> 
     <ColumnDefinition/> 
     <ColumnDefinition/> 
     <ColumnDefinition/> 
     <ColumnDefinition/> 
     <ColumnDefinition/> 
     <ColumnDefinition/> 
     <ColumnDefinition/> 
     </Grid.ColumnDefinitions> 
    </Grid> 
    </DockPanel> 
</Window> 
+0

Но мне нужен код для Programm. – user3013837

+2

'Почему мой код XAML не работает?' - потому что XAML является декларативным языком, а не обязательным. Код XAML не запускается. Он считывается так же, как если бы это были данные, и преобразовывался в граф объектов. –

+0

Что именно происходит, и что вы ожидаете вместо этого? Любое исключение? Ошибка компилятора? Какое точное сообщение? –

ответ

3

у вас есть дополнительные > там прямо перед тем, как объявить атрибут KeyDown.

Примите к сведению там цвет подсветки останавливается

<Window x:Class="Tetris.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="MainWindow" Height="570" Width="525"> 
    KeyDown = "HandleKeyDown" 
    Initialized = "MainWindow_Initilized" Background ="DimGray"> 

Я не думаю, что вы собираетесь для этого, чтобы быть там.

+0

Да, я вижу ... Спасибо! ;) – user3013837

1

Потому что вы закрыли тег окна дважды:

Title="MainWindow" Height="570" Width="525"> 
KeyDown = "HandleKeyDown" 
Initialized = "MainWindow_Initilized" Background ="DimGray"> 

Вы закрыли после Width="525" и снова после Background ="DimGray". Удалите его после Width="525", и он должен быть в порядке, если у вас есть </Window> в самом низу вашего окна XAML.

Кроме того, если вы пытаетесь использовать KeyDown реализовать сочетания клавиш, вы должны делать что-то вроде этого, вместо:

<Window.InputBindings> 
<KeyBinding Gesture="Ctrl+O" Command="{commands:ApplicationCommand}" CommandParameter="OpenFile"/> 
</Window.InputBindings> 
+0

ohhhh dammn ---- Это происходит постоянно! Спасибо :) Извините, я не могу проголосовать за ур в данный момент, я запомню это позже;) – user3013837

+0

Попытаюсь позже. – user3013837

Смежные вопросы