Как передать тип в ConverterParameter в UWP? - PullRequest
0 голосов
/ 03 мая 2019

Поскольку вы не можете использовать x: type в UWP, как бы вы передали тип объекта в качестве параметра преобразователя в преобразователь? По сути, я хочу сделать это в UWP:

Header="{x:Bind NavMenu.SelectedItem, 
                Mode=OneWay, 
                Converter={StaticResource ObjectToStringConverter}, 
                ConverterParameter={x:type NavigationViewItem}}"

Да, я понимаю, так как я использую x: Bind, я могу просто привести объект напрямую. Однако Resharper жалуется на приведение и помечает его как синтаксическую ошибку, поэтому я хочу обойти его с помощью конвертера. Кроме того, просто потому, что мне любопытно, как вы передаете тип в конвертер в XAML для другого использования.

1 Ответ

0 голосов
/ 06 мая 2019

Как передать тип в ConverterParameter в UWP?

Невозможно привязать значение непосредственно к ConverterParameter, причина в том, что ConverterParameter НЕсвойство зависимости, но простой объект.В этой ситуации вы не можете использовать привязки и передать x:type с неправильным синтаксисом.

Для вашего требования вы можете создать свойство зависимости в конвертере, не используя ConverterParameter: чтобы иметь возможность создаватьDP, ваш конвертер должен наследовать от DependencyObject.За подробными инструкциями вы можете обратиться к этому блогу Привязка параметров конвертера WinRT

Обновление

, если вы хотите передать параметр Type, вы можете использовать get type Функции в x: Bind .

Например:

static public class MyHelpers
{
    public static Type GetType(object ele)
    {
        return ele.GetType();
    }
}

Xaml

<TextBox Text="{x:Bind local:MyHelpers.GetType(Item)}" />
...