Есть ли способ объявить кортеж в xaml, чтобы я мог использовать его в качестве преобразователя?Объявление Tuple в Xaml
7
A
ответ
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. Вы можете использовать х: 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"; }
}
}
Я знаю, я не нуждаюсь в том, у меня есть это уже Кортеж <Видимость, видимость> visibleTuple = новый кортеж <Видимость, видимость> (Visibility.Collapsed, видимость. Видимый); this.Resources.Add ("visibleTuple", visibleTuple); просто подумал, что должен быть способ сделать это в xaml со всеми новыми функциями в xaml2009 – Wegged
Интересная заметка, но не отвечает на вопрос. – dkantowitz