有没有一种方法可以在xaml中声明元组,以便我可以将其用作转换器参数?
不是直接的。
有一些类似问题的有趣解决方案:
通常,您需要创建自己的非泛型类型并使用它。
例子
对于:
Tuple<string, int, double>
namespace Models
{
class MyData
{
public MyString { get; set; }
public MyInt { get; set; }
public MyDouble { get; set; }
}
}
然后在XAML中添加一个命名空间:
xmlns:models="clr-namespace:Models"
然后根据需要创建您的实例:
<models:MyData MyString="someString" MyInt="123" MyDouble="0.1" />
在XAML中不需要声明它。您可以使用x:Static来分配在代码中声明的ConverterParameter:
<TextBlock Text="{Binding Converter={x:Static local:MyConverter.Default}, ConverterParameter={x:Static local:MySettings.Name}}" />
而且你所访问的内容只需要是静态的:
public static class MySettings
{
public static string Name
{
get { return "Test"; }
}
}