На моем Grid
У меня есть TextBlock
и Button
. Если Button
не отображается, я хочу, чтобы мой TextBlock.HorizontalAlignment
был установлен в Center
. Если видна Button
, я хочу, чтобы мой TextBlock.HorizontalAlignment
был установлен в Right
. Вот мой код:Использование DataTrigger для TextBlock Свойство HorizontalAlignment
<TextBlock Grid.Row="0" VerticalAlignment="Center" Name="myTextBlock" Text="{Binding TileTextId}" TextWrapping="Wrap" TextAlignment="Center" >
<TextBlock.Triggers>
<DataTrigger Binding="{Binding ElementName=myButton, Path=IsVisible}" Value="True">
<Setter Property="HorizontalAlignment" Value="Right" />
</DataTrigger>
</TextBlock.Triggers>
</TextBlock>
Я получаю ошибку:
'HorizontalAlignment' member is not valid because it does not have a qualifying type name.
Так что я пытался добавить TextBlock.HorizontalAlignment
, как это:
<TextBlock Grid.Row="0" VerticalAlignment="Center" Name="myTextBlock" Text="{Binding TileTextId}" TextWrapping="Wrap" TextAlignment="Center" >
<TextBlock.Triggers>
<DataTrigger Binding="{Binding ElementName=myButton, Path=IsVisible}" Value="True">
<Setter Property="TextBlock.HorizontalAlignment" Value="Right" />
</DataTrigger>
</TextBlock.Triggers>
</TextBlock>
Я получаю ошибку:
XamlParseException
Как мне это сделать?
Спасибо. В чем причина, почему мое решение (без стиля) не сработало? Что означает первая ошибка? – Gabriel
@ Gabriel добавил этот аспект к ответу. – grek40