我一直在嘗試使用 C# 變數來設定 XAML 屬性的值,但沒有成功。我有一個保存 value 的變數"Verdana",我想在應用程式的按鈕上使用的字體,但是在嘗試編譯代碼時出現例外:
“ArgumentException:“Verdana”不是屬性“FontFamily”的有效值。
除了寬度和高度之外,具有來自變數的值的每個屬性都會出現相同的例外。我很感激有關如何解決此問題的任何建議。
我使用了以下代碼:
C# 類
namespace Ueb21d_SplitPanel
{
public static class AzoConst
{
public static readonly double FONTSIZE_BUTTON = 16;
public static readonly string BACKGROUND_BUTTON = "Green";
public static readonly string FONT_BUTTON = "Verdana";
public static readonly string FONTCOLOR_BUTTON = "White";
public static readonly double WIDTH_BUTTON = 70;
public static readonly double HEIGHT_BUTTON = 30;
}
}
XML 命名空間
xmlns:local="clr-namespace:Ueb21d_SplitPanel;assembly=Ueb21d_SplitPanel"
一鍵的 XAML 代碼
<Button x:Name="btnClose" Content="Close"
Width="{x:Static local:AzoConst.WIDTH_BUTTON}"
Height="{x:Static local:AzoConst.HEIGHT_BUTTON}" Margin="5,0,0,0"
IsCancel="True" RenderTransformOrigin="0.5,0.5"
FontFamily="{x:Static local:AzoConst.FONT_BUTTON}"
Foreground="{x:Static local:AzoConst.FONTCOLOR_BUTTON}"
Background="{x:Static local:AzoConst.BACKGROUND_BUTTON}"
FontSize="{x:Static local:AzoConst.FONTSIZE_BUTTON}"/>
uj5u.com熱心網友回復:
使用與依賴屬性型別匹配的適當型別,它將起作用。
FontFamily是型別FontFamilyForeground是型別BrushBackground是型別Brush
public static class AzoConst
{
public static readonly double FONTSIZE_BUTTON = 16;
public static readonly Brush BACKGROUND_BUTTON = Brushes.Green;
public static readonly FontFamily FONT_BUTTON = new FontFamily("Verdana");
public static readonly Brush FONTCOLOR_BUTTON = Brushes.White;
public static readonly double WIDTH_BUTTON = 70;
public static readonly double HEIGHT_BUTTON = 30;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/429680.html
