UWP Radial Gauge 最大值 属性 导致异常
UWP Radial Gauge maximum property causing exception
我有一个 UWP 应用程序,它通过 MQTT 从我的 ESP32 接收数据并显示在屏幕上。我有一个径向测量仪,它运行良好,但现在它抛出了一个关于 "Maximum" 属性.
的奇怪异常
Windows.UI.Xaml.Markup.XamlParseException
HResult=0x802B000A
Message=The text associated with this error code could not be found.
Failed to assign to property 'Windows.UI.Xaml.Controls.Primitives.RangeBase.Value'. [Line: 66 Position: 98]
Source=Windows
StackTrace:
at Windows.UI.Xaml.Application.LoadComponent(Object component, Uri resourceLocator, ComponentResourceLocation componentResourceLocation)
at UWP.Dcem.InitializeComponent() in C:\Users\ale_5\source\repos\UWP\UWP\UWP\obj\x86\Debug\Dcem.g.i.cs:line 59
at UWP.Dcem..ctor() in C:\Users\ale_5\source\repos\UWP\UWP\UWP\Dcem.xaml.cs:line 33
没有设置属性仪表出现,不抛出任何异常,但是没用,因为它从0开始,到0结束。
这是我目前用来渲染仪表的代码
<controls:RadialGauge Margin="0 65 0 10" x:Name="RadialGaugeControl" Value="0" Minimum="0"
Maximum="3300" TickSpacing="330" ScaleWidth="20" Unit="mV" TickBrush="Gainsboro"
ScaleTickBrush="AliceBlue" TrailBrush="#4c79a1" NeedleWidth="5" TickLength="18" Width="300"/>
即使使用来自here
的Microsoft示例,也会抛出异常
<controls:RadialGauge x:Name="RadialGaugeControl" Column="1" Value="70" Minimum="0"
Maximum="180" TickSpacing="20" ScaleWidth="26" Unit="Units" TickBrush="Gainsboro"
ScaleTickBrush="{ThemeResource ApplicationPageBackgroundThemeBrush}"
NeedleWidth="5" TickLength="18">
</controls:RadialGauge>
对照参考
xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls"
版本 6.0.0
有谁知道是什么导致了这个问题?
我测试了你的渲染代码并且它有效。而且从报错信息来看,应该是你给Value
分配了错误的值类型(比如给Value分配了字符串等非double值),与Maximum
属性无关.
官方例子中有一些遗漏,RadialGauge
没有包含Column
属性,请去掉这个属性,或者改成Grid.Column="1"
], 可以正常运行.
我们会尽快报告此文档的问题进行修改,以免造成误解。
我有一个 UWP 应用程序,它通过 MQTT 从我的 ESP32 接收数据并显示在屏幕上。我有一个径向测量仪,它运行良好,但现在它抛出了一个关于 "Maximum" 属性.
的奇怪异常Windows.UI.Xaml.Markup.XamlParseException
HResult=0x802B000A
Message=The text associated with this error code could not be found.
Failed to assign to property 'Windows.UI.Xaml.Controls.Primitives.RangeBase.Value'. [Line: 66 Position: 98]
Source=Windows
StackTrace:
at Windows.UI.Xaml.Application.LoadComponent(Object component, Uri resourceLocator, ComponentResourceLocation componentResourceLocation)
at UWP.Dcem.InitializeComponent() in C:\Users\ale_5\source\repos\UWP\UWP\UWP\obj\x86\Debug\Dcem.g.i.cs:line 59
at UWP.Dcem..ctor() in C:\Users\ale_5\source\repos\UWP\UWP\UWP\Dcem.xaml.cs:line 33
没有设置属性仪表出现,不抛出任何异常,但是没用,因为它从0开始,到0结束。
这是我目前用来渲染仪表的代码
<controls:RadialGauge Margin="0 65 0 10" x:Name="RadialGaugeControl" Value="0" Minimum="0"
Maximum="3300" TickSpacing="330" ScaleWidth="20" Unit="mV" TickBrush="Gainsboro"
ScaleTickBrush="AliceBlue" TrailBrush="#4c79a1" NeedleWidth="5" TickLength="18" Width="300"/>
即使使用来自here
的Microsoft示例,也会抛出异常<controls:RadialGauge x:Name="RadialGaugeControl" Column="1" Value="70" Minimum="0"
Maximum="180" TickSpacing="20" ScaleWidth="26" Unit="Units" TickBrush="Gainsboro"
ScaleTickBrush="{ThemeResource ApplicationPageBackgroundThemeBrush}"
NeedleWidth="5" TickLength="18">
</controls:RadialGauge>
对照参考
xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls"
版本 6.0.0
有谁知道是什么导致了这个问题?
我测试了你的渲染代码并且它有效。而且从报错信息来看,应该是你给Value
分配了错误的值类型(比如给Value分配了字符串等非double值),与Maximum
属性无关.
官方例子中有一些遗漏,RadialGauge
没有包含Column
属性,请去掉这个属性,或者改成Grid.Column="1"
], 可以正常运行.
我们会尽快报告此文档的问题进行修改,以免造成误解。