Я разрабатываю Windows 10 Universal App. У меня есть код ниже:Катастрофический сбой при привязке xaml
XAML:
<Page
x:Class="MyProject.BlankPage1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:MyProject"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
>
<ItemsControl ItemsSource="{Binding}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas Background="Purple"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemContainerStyle>
<Style TargetType="ContentPresenter">
<Setter Property="Canvas.Left" Value="{Binding X}"/>
<Setter Property="Canvas.Top" Value="{Binding Y}"/>
</Style>
</ItemsControl.ItemContainerStyle>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Rectangle Fill="Red" Width="50" Height="50"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Page>
и код позади:
namespace MyProject
{
public sealed partial class BlankPage1 : Page
{
public BlankPage1()
{
DataContext =
new[]
{
new { X = 50.0, Y = 100.0 },
new { X = 220.0, Y = 170.0 }
};
InitializeComponent();
}
}
}
Unfortunatelly, прямоугольники не отображается в окне. Я получаю ошибку компиляции:
Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))
Назначение координат холста статические числа в xaml работает, как ожидалось.
Почему возникает ошибка и код не работает?
Вам не хватает привязки ItemsSource для вашего элемента ItemsControl. Хотя установка DataContext в массив также несколько нечетна; Я только предполагаю, что для тестирования? –
Конечно, это было, спасибо за ваш совет. – pt12lol
Просьба уточнить: проблема все еще возникает, когда вы добавили привязку 'ItemsSource' к вашему элементу управления? Если да, попробовали ли вы использовать именованный тип вместо анонимного типа? Например. 'Tuple' или ваш собственный пользовательский тип? Вы пробовали увидеть «Canvas.Left» и «Canvas».Top' в 'ItemTemplate' вместо стиля презентатора контента? –