2012-03-15 42 views
1

我有一個在Expression Design中繪製的16x16矢量,我將其導入Blend並用於控件模板。這裏的XAML:WPF在運行時沒有正確對齊路徑

enter image description here

<ControlTemplate x:Key="CircularButtonTemplate" TargetType="{x:Type Button}"> 
    <Canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Name="Layer_1" Width="16" Height="16" Canvas.Left="0" Canvas.Top="0"> 
     <Ellipse x:Name="_circle" Width="15.0208" Height="15.0208" Canvas.Left="0.375033" Canvas.Top="0.479169" Stretch="Fill" Fill="#FF666666" /> 
     <Path x:Name="_darkShadow" Width="14.727" Height="14.686" Canvas.Left="0.232" Canvas.Top="0.357" StrokeThickness="3" StrokeLineJoin="Round" Stroke="Black" Data="M 2.02083,8.03473L 13.7501,8.03473M 7.84484,2.14584L 7.84484,13.8333"/> 
     <Path x:Name="_lightShadow" Width="14.727" Height="14.686" Canvas.Left="0.857" Canvas.Top="0.732" StrokeThickness="3" StrokeLineJoin="Round" Stroke="#FFABABAB" Data="M 2.02083,8.03473L 13.7501,8.03473M 7.84484,2.14584L 7.84484,13.8333"/> 
     <Path x:Name="_plus" Width="14.7292" Height="14.6875" Canvas.Left="0.520833" Canvas.Top="0.645836" StrokeThickness="3" StrokeLineJoin="Round" Stroke="#FFFFFFFF" Data="M 2.02083,8.03473L 13.7501,8.03473M 7.84484,2.14584L 7.84484,13.8333"/> 
    </Canvas> 

而Blend和實驗設計顯示圖像整齊,在運行時,在中心+符號不正確時應用於按鈕排列

我該如何解決這個問題?

回答

2

嘗試在畫布上設置UseLayoutRounding =「True」。

+0

這樣做:)去標記這是答案,因爲它是我爲解決問題所做的更少的工作。 – Sameera 2012-03-16 05:31:05

1

只需調整生成的代碼就可以給出更多的定義值。嘗試這個。

<Canvas x:Name="Layer_1" Width="16" Height="16" VerticalAlignment="Center" HorizontalAlignment="Center"> 
     <Ellipse x:Name="_circle" Width="16" Height="16" Stretch="Fill" Fill="#FF666666" HorizontalAlignment="Center" VerticalAlignment="Center" /> 
     <Path x:Name="_darkShadow" Width="16" Height="16" StrokeThickness="3" Stroke="Black" Data="M 2.02083,8.03473L 13.7501,8.03473M 7.84484,2.14584L 7.84484,13.8333" HorizontalAlignment="Center" VerticalAlignment="Center" UseLayoutRounding="False" Canvas.Left="-0.5" Canvas.Top="-0.5"/> 
     <Path x:Name="_lightShadow" Width="16" Height="16" StrokeThickness="3" Stroke="#FFABABAB" Data="M 2.02083,8.03473L 13.7501,8.03473M 7.84484,2.14584L 7.84484,13.8333" Canvas.Left="-0.5" Canvas.Top="-0.5" Visibility="Collapsed"/> 
     <Path x:Name="_plus" Width="14" Height="14" StrokeThickness="3" Stroke="#FFFFFFFF" Data="M 2.02083,8.03473L 13.7501,8.03473M 7.84484,2.14584L 7.84484,13.8333" HorizontalAlignment="Center" VerticalAlignment="Center"/> 
    </Canvas> 
+0

確實沒有工作:) – Sameera 2012-03-16 05:26:14

+0

我標記了Mike的答案,因爲這是一個更快的解決方案。 – Sameera 2012-03-16 05:36:23

+0

嘿,這真棒,給我看一些東西,歡呼邁克。 – 2012-03-16 20:11:26