Windows phone 8 为什么绑定到父元素属性的WP8.1控件属性无效?
数据绑定没有显示任何内容,啊,白色空白屏幕==Windows phone 8 为什么绑定到父元素属性的WP8.1控件属性无效?,windows-phone-8,data-binding,Windows Phone 8,Data Binding,数据绑定没有显示任何内容,啊,白色空白屏幕== <StackPanel x:Name="stackPanel"> <Canvas x:Name="canvas" Width="{Binding ActualWidth, ElementName=stackPanel, Mode=OneWay}" Height="{Binding Width, RelativeSource={RelativeSource Mode=Self}}"> &
<StackPanel x:Name="stackPanel">
<Canvas x:Name="canvas"
Width="{Binding ActualWidth, ElementName=stackPanel, Mode=OneWay}"
Height="{Binding Width, RelativeSource={RelativeSource Mode=Self}}">
<Ellipse Height="{Binding ActualHeight, ElementName=canvas, Mode=OneWay}"
Width="{Binding ActualWidth, ElementName=canvas, Mode=OneWay}"
Fill="Black"
HorizontalAlignment="Center"
VerticalAlignment="Center" />
</Canvas>
您正在绑定实际宽度或实际高度椭圆->画布->堆栈面板。实际高度和实际宽度是特殊的。如果我们使用宽度和高度,您的xaml代码将正常工作。为了使您的代码能够使用ActualWidth或ActualHeight,我们可以将Canvas和StackPanel之间的绑定设置为双向。因此,我认为以下代码适用于您:
<Canvas x:Name="canvas"
Width="{Binding ActualWidth, ElementName=stackPanel, Mode=TwoWay}"
Height="{Binding Width, RelativeSource={RelativeSource Mode=Self}}">
<Ellipse Height="{Binding ActualWidth, ElementName=canvas, Mode=OneWay}"
Width="{Binding ActualWidth, ElementName=canvas, Mode=OneWay}"
Fill="Black"
HorizontalAlignment="Center"
VerticalAlignment="Center" />
</Canvas>