Объявление кортежа в Xaml - PullRequest
       5

Объявление кортежа в Xaml

7 голосов
/ 12 октября 2010

Есть ли способ объявить кортеж в xaml, чтобы я мог использовать его в качестве параметра преобразователя?

Ответы [ 2 ]

1 голос
/ 21 августа 2012

Не напрямую.

Есть несколько интересных решений для похожих вопросов:

Как правило, вам нужно создать собственный тип, который не является универсальным, и использовать его вместо этого.

ПРИМЕР

Для:

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" />
0 голосов
/ 13 октября 2010

Вам не нужно объявлять это в 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"; }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...