我用这样的Border
制作了一个圆形窗口:
<Border CornerRadius="{Binding WindowCornerRadius}" Background="{StaticResource BackgroundDarkBrush}">
<Border.Effect>
<DropShadowEffect ShadowDepth="0" Opacity="0.2"></DropShadowEffect>
</Border.Effect>
</Border>
<Grid>
<Grid.RowDefinitions>
<!--Title Bar-->
<RowDefinition Height="{Binding TitleHeightGridLength}"></RowDefinition>
<RowDefinition Height="auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<!--Title Bar-->
<Border Background="{StaticResource TitleBrush}" CornerRadius="{Binding WindowCornerRadius,WindowCornerRadius,0,0}">
<Grid Grid.Column="0" Panel.ZIndex="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<Button Style="{StaticResource SystemIconButton}" Command="{Binding MenuCommand}">
<Image Source="Images/Logo/Wink.png"></Image>
</Button>
</Grid>
</Border>
</Grid>
</Grid>
</Border>
如你所见,我更改了第一个GridRow
的背景,这可以防止它变成圆形(有角半径),我想更正它,首先添加边框GridRow
但是我失败了。上面的代码在CornerRadius="{Binding WindowCornerRadius,WindowCornerRadius,0,0}"
:
没有类型的构造函数&#34;绑定&#34;有4个参数。
我的问题是我是否通过添加另一个边框来正确处理? (如果是,我如何单独绑定CornerRadius
。
答案 0 :(得分:0)
你不能使用这样的绑定。对CornerRadius的绑定将从 DataContext 中查找 Thickness -typed属性,并在绑定中指定 Path 。路径隐含在绑定中,但您可以明确地设置它:Property="{Binding Path=blabla}"
。更多信息here。
CornerRadius是否会动态变化?为什么呢?
另外看看这个: Binding only part of the margin property of WPF control