我有兩個ContentControls
在一個頁面上綁定到相同的StaticResource
和其中一人繪製正確的另一個根本沒有繪製。綁定ContentControl不顯示
該資源如此定義:
<Path x:Key="ArrowNorth"
Stroke="DarkGray"
StrokeThickness="1"
Data="M 20,4 L 36,20 L 32,24 L 23,15 L 23,33 L 17,33 L 17,15 L 8,24 L 4,20 Z">
<Path.Fill>
<RadialGradientBrush GradientOrigin="0.15,0.2" Center="0.3,0.4">
<GradientStop Color="White" Offset="0"/>
<GradientStop Color="{Binding Source={StaticResource MainWindowResource}, Path=ArrowColor}" Offset="1"/>
</RadialGradientBrush>
</Path.Fill>
</Path>
資源基本上是我想顯示在圓上的頂部上的箭頭。這是不正確繪製的地方是這樣定義:
<Grid Canvas.Top="30" Canvas.Left="6" ToolTip="Up"
Visibility="{Binding Source={StaticResource MainWindowResource}, Path=ShowVertical}">
<Ellipse x:Name="lightEllipseU" Height="40" Width="40">
<Ellipse.Fill>
<RadialGradientBrush GradientOrigin="0.3,0.3" Center="0.4,0.4">
<GradientStop Color="White" Offset="0"/>
<GradientStop
Color="{Binding Source={StaticResource MainWindowResource}, Path=LightColorU}"
Offset="1"/>
</RadialGradientBrush>
</Ellipse.Fill>
</Ellipse>
<!-- This doesn't display -->
<ContentControl Content="{Binding Source={StaticResource ArrowNorth}}"/>
</Grid>
的Ellipse
顯示細膩,只是測試Z順序,我註釋掉Ellipse
和ContentControl
仍然不會顯示。再往下看,我在不同的地方使用箭頭,箭頭顯示得很好。這裏是代碼:
<Grid Canvas.Top="10" Canvas.Left="110" ToolTip="Y Axis">
<Ellipse x:Name="lightEllipseN" Height="40" Width="40">
<Ellipse.Fill>
<RadialGradientBrush GradientOrigin="0.3,0.3" Center="0.4,0.4">
<GradientStop Color="White" Offset="0"/>
<GradientStop Color="{Binding Source={StaticResource MainWindowResource}, Path=LightColorN}" Offset="1"/>
</RadialGradientBrush>
</Ellipse.Fill>
</Ellipse>
<!-- This displays just fine -->
<ContentControl Content="{Binding Source={StaticResource ArrowNorth}}"/>
</Grid>
代碼是完全相同的(剪切和粘貼)。我不明白爲什麼它會在一個地方而不是另一個地方工作。
其他信息:我試着第三次添加它,並顯示d正確,但原始停止顯示。它似乎只能綁定一次資源,並且頁面上的最後一個綁定獲勝。任何人都可以確認嗎? – dtaylor