【问题标题】:UWP Radial Gauge maximum property causing exceptionUWP Radial Gauge 最大属性导致异常
【发布时间】:2026-01-23 23:40:01
【问题描述】:

我有一个 UWP 应用程序,它通过 MQTT 从我的 ESP32 接收数据并显示在屏幕上。我有一个运行良好的径向量规,但现在它抛出了一个关于“最大值”属性的奇怪异常。

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

有谁知道是什么导致了这个问题?

【问题讨论】:

    标签: xaml uwp controls


    【解决方案1】:

    我测试了你的渲染代码,它工作正常。而且从报错信息来看,应该是你给Value分配了错误的值类型(比如给Value分配了字符串等非双精度值),与Maximum属性无关。

    官方例子有一些疏漏,RadialGauge不包含Column属性,请去掉这个属性,或者改成Grid.Column="1",可以正常运行。

    我们将报告此文档的问题并尽快对其进行修改,以免造成误解。

    【讨论】:

    • 我不理解这里的错误,我没有使用网格或者列属性。我对最大值有一个奇怪的问题,看看link你有什么想法吗?我已经尝试过重新安装控制包,它没有用 =/
    • 在你的截图中,我注意到出现了两个Maximum。您是否反复设置过此属性?
    • 很遗憾没有。误差线是径向量规,然后是注释,然后是滑块
    • 对不起,您的问题目前无法复制。您能否提供应用程序的最低/目标系统版本?也可以尝试新建一个空白项目,引入控件看看会不会出现同样的问题
    • 是的,这似乎是 VS 的一个奇怪错误。创建一个新项目效果很好
    最近更新 更多