У меня есть группа фигур, мне нужно решить, какие из них остаются видимыми, а какие скрытыми.
в соответствии с условиями буксировки (это будет визуальная игра в кости)
(1) значение, которое они получают посредством привязки из контекста данных.
(2) значение их места в группе, которое я сохранил для каждой фигуры в свойстве Tag
Мне нужен конвертер, чтобы получить свойство тега в качестве параметра для каждой фигуры
моя привязка :( НЕПРАВИЛЬНО)
<Style TargetType="{x:Type Ellipse}">
<Setter Property="Visibility" Value="{Binding Path=., Converter={StaticResource MyDiceInputToVisualConverter}}"></Setter>
</Style>
Мои фигуры:
<Canvas DataContext="{Binding Path=DataContext.Dice1,RelativeSource={RelativeSource AncestorType=StackPanel}}">
<Ellipse Tag="1" Canvas.Left="5" Canvas.Top="5"></Ellipse>
<Ellipse Tag="2" Canvas.Left="5" Canvas.Top="20"></Ellipse>
<Ellipse Tag="3" Canvas.Left="5" Canvas.Top="35"></Ellipse>
<Ellipse Tag="4" Canvas.Left="20" Canvas.Top="20"></Ellipse>
<Ellipse Tag="5" Canvas.Left="35" Canvas.Top="5"></Ellipse>
<Ellipse Tag="6" Canvas.Left="35" Canvas.Top="20"></Ellipse>
<Ellipse Tag="7" Canvas.Left="35" Canvas.Top="35"></Ellipse>
</Canvas>
мой конвертер не должен представлять интереса, все, что он делает, это возвращает видимость или скрыт
стоимость кости и место Точки на кости.
есть идеи, как отправить конвертеру свойство тега или, в качестве альтернативы, указать его в конвертере?
спасибо заранее.
РЕДАКТИРОВАТЬ:
В итоге я явно установил привязку в разметке каждого эллипса:
<Canvas DataContext="{Binding Path=DataContext.Dice1,RelativeSource={RelativeSource AncestorType=StackPanel}}">
<Ellipse Tag="1" Canvas.Left="5" Canvas.Top="5" Visibility="{Binding Path=., Converter={StaticResource MyDiceInputToVisualConverter},ConverterParameter=1}"></Ellipse>
<Ellipse Tag="2" Canvas.Left="5" Canvas.Top="20" Visibility="{Binding Path=., Converter={StaticResource MyDiceInputToVisualConverter},ConverterParameter=2}"></Ellipse>
<Ellipse Tag="3" Canvas.Left="5" Canvas.Top="35" Visibility="{Binding Path=., Converter={StaticResource MyDiceInputToVisualConverter},ConverterParameter=3}"></Ellipse>
</Canvas>
И все же, если кто-нибудь знает, как включить это в стиль эллипса, чтобы избежать повторения всего этого кода, пожалуйста, дайте мне знать. Благодарю .