无法从静态资源设置 CornerRadius 值

Bor*_*ris 1 silverlight xaml resourcedictionary cornerradius

我定义了一个静态资源:

<UserControl x:Class="MyProject.MainPage"
   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
   xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
   xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
   xmlns:sys="clr-namespace:System;assembly=mscorlib" 
   mc:Ignorable="d" 
   Width="255" 
   Height="300">

   <UserControl.Resources>
      <sys:Double x:Key="CornerRadiusValue">5</sys:Double>
   </UserControl.Resources>
...
Run Code Online (Sandbox Code Playgroud)

稍后在 XAML 文件中,我尝试在为边框设置左上角半径时使用该值:

<Border 
   Width="40"
   Height="30"
   BorderThickness="1,1,0,0" 
   BorderBrush="Red">
      <Border.CornerRadius>
         <CornerRadius TopLeft="{StaticResource CornerRadiusValue}" />
      </Border.CornerRadius>
</Border>
Run Code Online (Sandbox Code Playgroud)

在设计时,一切正常,更改CornerRadiusValue静态资源的值会更改边框上的角半径。但是,当我想运行它时,我收到一条XamlParseException消息异常:

无法设置只读属性“System.Windows.CornerRadius.TopLeft”。

我究竟做错了什么?我如何使它工作?谢谢。

Dir*_*ler 6

<sys:Double x:Key="ScrollbarHandleCrValue">3</sys:Double>
<CornerRadius x:Key="ScrollbarHandleCornerRadius" 
   TopLeft="{StaticResource ScrollbarHandleCrValue}" 
   TopRight="{StaticResource ScrollbarHandleCrValue}" 
   BottomRight="{StaticResource ScrollbarHandleCrValue}" 
   BottomLeft="{StaticResource ScrollbarHandleCrValue}" />

...
<Border Name="Border"
   CornerRadius="{StaticResource ScrollbarHandleCornerRadius}" 
   Background="{StaticResource ScrollbarHandleColor}"
   BorderBrush="Transparent"
   BorderThickness="1" />
...
Run Code Online (Sandbox Code Playgroud)