0
我想創建一箇中心化的TextBlock,我的第一步是嘗試使用Canvas.Left綁定ActualWidth的觸發器來查看它是否工作,但不幸的是它不起作用,它不工作之後:TextBlock上的WPF觸發器不起作用C#
LTest.HorizontalAlignement = Center;
我也試過xmal的c#代碼版本,它也不工作。
有人幫我解決嗎?有一天我一直爲此感到困擾。
這是在Canvas
<TextBlock Canvas.Left="200" TextWrapping="Wrap" Text="Test222" Canvas.Top="200" FontSize="48" x:Name="LTest">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<Trigger Property="HorizontalAlignment" Value="Center">
<Setter Property="Canvas.Left" Value="{Binding RelativeSource={RelativeSource Self}
, Path=ActualWidth}"></Setter>
</Trigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
EDIT1:
看來它並不適用於
Canvas.Left
工作,我有
UIElement.Visibility
這是確定測試
任何人都可以幫我讓它與Canvas.Left一起使用嗎?
而這樣做的原因是[依賴項屬性值優先級( http://msdn.microsoft.com/en-us/library/ms743230.aspx) –
謝謝你解決了這個問題,但這使我的設計意義更少,因爲這意味着我不能在代碼中設置canvas.Left動態,一旦我執行Canvas.SetLeft()就會產生問題。我的想法是重置Canvas.Left根據ActualWidth和當前Canvas.Left,所以....這對我有點不好。 – Enzojz