运行应用程序时,输出面板中出现绑定错误:
System.Windows.Data错误:4:无法找到与引用'RelativeSource FindAncestor绑定的源,AncestorType ='System.Windows.Shapes.Ellipse',AncestorLevel ='1''。 BindingExpression:路径=宽度;的DataItem = NULL; target元素是'TranslateTransform'(HashCode = 59715965); target属性为'X'(类型'Double')
我正在尝试创建一个样式,以便在Canvas中的所有省略号上应用TranslateTransform。绑定工作,但当我启动我的应用程序时,我在输出面板中收到错误。我该如何解决这个错误?
编辑:绑定确实有效,我只是想摆脱Visual Studio输出窗口中的错误。
如果我将RenderTransform从样式移动到Ellipse
标记,则错误消失,但我希望在样式中使用此变换,因为它需要应用于许多省略号。
这是我正在使用的XAML:
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="WpfApplication1.MainWindow"
Title="MainWindow" Height="300" Width="300">
<Window.Resources>
<Style TargetType="Ellipse">
<Setter Property="RenderTransform">
<Setter.Value>
<TranslateTransform>
<TranslateTransform.X>
<Binding
RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType={x:Type Ellipse}}"
Path="Width"/>
</TranslateTransform.X>
</TranslateTransform>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<Canvas>
<Ellipse Width="100" Height="100" Fill="Red" />
</Canvas>
</Window>
答案 0 :(得分:1)