像许多其他人一样,xaml 解析器决定不检测我的 IvalueConverter 对象。首先是转换器:
using System;
using System.Windows.Data;
namespace Chess_Piece_Viewer.Helpers
{
public class DebugConverter : IValueConverter
{
public Object Convert(Object value, Type targetType, Object parameter, System.Globalization.CultureInfo culture)
{
//set a breakpoint here
return value;
}
public Object ConvertBack(Object value, Type targetType, Object parameter, System.Globalization.CultureInfo culture)
{
//set a breakpoint here
return value;
}
}
}
现在视图(请注意 DebugConverter 对象在 Visual Studio 中带有下划线,因为解析器无法检测到它,这是我的问题:
<UserControl x:Class="Chess_Piece_Viewer.Views.ChessBoardView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:diagnostics="clr-namespace:System.Diagnostics;assembly=WindowsBase"
xmlns:Helpers ="clr-namespace:CanvasViewTest.Helpers;assembly=CanvasViewTest"
mc:Ignorable="d"
MinHeight="80" MinWidth="80"
d:DesignHeight="160" d:DesignWidth="160">
<UserControl.Resources>
<Helpers:DebugConverter x:Name="DebugConverter"/>
</UserControl.Resources>
<Border x:Name="border" BorderBrush="{Binding Path=ChessBoard.BoardBorderBrush, diagnostics:PresentationTraceSources.TraceLevel=High}" BorderThickness="{Binding Path=ChessBoard.BoardBorderThickness}" >
<UniformGrid Rows="8" Columns="8" x:Name="Board">
<Canvas>
<Rectangle x:Name="a1" Stroke="{Binding Path=ChessBoard.DarkSquareBorder, diagnostics:PresentationTraceSources.TraceLevel=High}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[0]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[1]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[2]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[3]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[4]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[5]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[6]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[7]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[8]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[9]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[10]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[11]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[12]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[13]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[14]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[15]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[16]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[17]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[18]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[19]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[20]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[21]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[22]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[23]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[24]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[25]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[26]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[27]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[28]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[29]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[30]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[31]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[32]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[33]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[34]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[35]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[36]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[37]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[38]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[39]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[40]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[41]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[42]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[43]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[44]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[45]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[46]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[47]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[48]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[49]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[50]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[51]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[52]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[53]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[54]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[55]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[56]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[57]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[58]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[59]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[60]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[61]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.LightSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.LightSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[62]}"/>
</Canvas>
<Canvas>
<Rectangle Stroke="{Binding Path=ChessBoard.DarkSquareBorder}">
<Rectangle.Fill>
<SolidColorBrush Color="{Binding Path=ChessBoard.DarkSquareColor}"/>
</Rectangle.Fill>
</Rectangle>
<ContentControl DataContext="{Binding Path=ChessSquareViewModels[63]}"/>
</Canvas>
</UniformGrid>
</Border>