在Xaml中声明元组

9
有没有一种方法可以在xaml中声明元组,以便我可以将其用作转换器参数?
2个回答

1

不是直接的。

有一些类似问题的有趣解决方案:

通常,您需要创建自己的非泛型类型并使用它。

例子

对于:

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" />

-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"; }
    }
}

我知道其实我不需要,事实上我已经有了这个 Tuple<Visibility, Visibility> visibleTuple = new Tuple<Visibility, Visibility>(Visibility.Collapsed, Visibility.Visible); this.Resources.Add("visibleTuple", visibleTuple);只是觉得在XAML中有很多新功能,肯定有一种方法可以做到。 - Wegged
有趣的旁注,但并没有回答问题。 - dkantowitz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接