Я создаю программно сетку прямоугольников, и каждый прямоугольник имеет внутри нее ярлык. Я обнаруживаю, какой прямоугольник был нажат с помощью команды Event. Моя проблема в том, что если я попытаюсь связать прямоугольник Name, я получаю эту ошибку: MarkupExtensions не допускаются для значений свойств Uid или Name, поэтому '{Binding ID}' недействителен Так что я могу получить имя только в том случае, если Я нажимаю на ярлык. Есть ли решение этой проблемы? Мой XAML:Программно связанное имя ItemsControl
<ItemsControl ItemsSource="{Binding CaskList}" HorizontalAlignment="Left" VerticalAlignment="Top">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas Width="1680" Height="800">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseLeftButtonDown" >
<cmd:EventToCommand Command="{Binding SelCaskCommand}" PassEventArgsToCommand="True" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Canvas>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemContainerStyle>
<Style TargetType="ContentPresenter">
<Setter Property="Canvas.Left" Value="{Binding Left}"/>
<Setter Property="Canvas.Top" Value="{Binding Top}"/>
</Style>
</ItemsControl.ItemContainerStyle>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<Rectangle Stroke="Black" Width="64" Height="64" Fill="{Binding Color}" ></Rectangle>
<Label Content="{Binding ID}" FontSize="14" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Я попытался связать rectanle просто используя
<Rectangle Stroke="Black" Width="64" Height="64" Fill="{Binding Color}" Name="{Binding ID}">
Класс привязываться к ItemsControl является
public class Cask
{
public string ID { get; set; }
public Int64 Left { get; set; }
public Int64 Top { get; set; }
public SolidColorBrush Color { get; set; }
}
Как вы пытались привязать имя прямоугольника? – Joseph
Каков тип поля идентификатора? Можете ли вы показать объявление этого свойства? –
Спасибо за ваш ответ, я отредактировал мой вопрос, чтобы показать вам привязку и класс – Parni