我有一个ResourceFile1.xaml文件,它的内容是:
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Viewbox x:Key="Flash-On" >
<Grid Width="256" Height="256" Visibility="Visible">
<Path Tag="Icon" Data="F1M376.251,632.755L385.665,632.755 381.302,646.07 394.618,646.07 389.11,660.302 393.01,660.302 381.531,672.93 377.398,660.763 381.073,660.763 383.829,652.268 369.825,652.268 376.251,632.755z" Stretch="Uniform" Fill="#FFFFFFFF" Width="176" Height="176" Margin="0,0,0,0" RenderTransformOrigin="0.5,0.5">
<Path.RenderTransform>
<TransformGroup>
<TransformGroup.Children>
<RotateTransform Angle="0" />
<ScaleTransform ScaleX="1" ScaleY="1" />
</TransformGroup.Children>
</TransformGroup>
</Path.RenderTransform>
</Path>
</Grid>
</Viewbox>
<Viewbox x:Key="Flash-Off">
....
</Viewbox>
</ResourceDictionary>
PhoneAppplicationPage的代码
<phone:PhoneApplicationPage.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="ResourceFile1.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</phone:PhoneApplicationPage.Resources>
但是这些代码不起作用。
设计师错误:InvalidOperationException:元素已经是另一个元素的子元素。
此外,如果我使用类似的代码 <Button Content="{StaticResource Flash-On}"/>
,则出现运行时错误:无法分配到属性 'System.Windows.Controls.ContentControl.Content'。
如果在Grid.Resources中使用Viewbox,则没有问题,可以正常工作,但我想与ResourceDictionary一起使用。我该怎么做?
<Button ContentTemplate="{Binding Path=TheValueOfWhichDependsTheTemplate, Converter={StaticResource ConverterThatReturnsTheTemplateUsingValue}}"/>
? - Vyacheslav Volkov