如何在XAML中通过x:Static访问数组元素?
WPF中x:Static绑定数组元素的语法错误解决方法
x:Static标记扩展仅支持引用静态成员本身,无法直接通过索引器访问数组元素,所以你写的{x:Static A.Numbers[0]}会触发语法错误。以下是两种可行的解决方式:
方法一:结合Binding与x:Static
通过x:Static指定绑定源为静态数组,再用Path访问索引元素:
<!-- 注意先在根元素声明命名空间,比如 xmlns:local="clr-namespace:你的项目命名空间" --> <TextBlock Text="{Binding Source={x:Static local:A.Numbers}, Path=[0]}" />
方法二:新增静态属性封装数组元素
在类A中添加直接返回目标数组元素的静态属性,后续直接用x:Static引用:
class A { public static int[] Numbers { get; } = new[] { 1, 2, 3 }; // 封装数组第一个元素的静态属性 public static int FirstNumber => Numbers[0]; }
对应的XAML写法:
<TextBlock Text="{x:Static local:A.FirstNumber}" />
内容的提问来源于stack exchange,提问作者huang
相关产品推荐
相关产品推荐

