Я определил статический ресурс:
<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>
...
Позже в файле XAML я пытаюсь использовать это значение при установке радиуса верхнего левого угла для границы:
<Border
Width="40"
Height="30"
BorderThickness="1,1,0,0"
BorderBrush="Red">
<Border.CornerRadius>
<CornerRadius TopLeft="{StaticResource CornerRadiusValue}" />
</Border.CornerRadius>
</Border>
Во время разработки все работает нормально, и изменение значения статического ресурса CornerRadiusValue
изменяет радиус угла на границе. Однако, когда я хочу запустить это, я получаю исключение XamlParseException
с сообщением:
Невозможно установить свойство "System.Windows.CornerRadius.TopLeft" только для чтения.
Что я делаю неправильно? Как заставить это работать? Спасибо.