Ошибка при использовании x: bind в uwp: неверный путь привязки err - PullRequest
2 голосов
/ 28 мая 2019

Я пытаюсь использовать функцию x: bind для отображения String, которая использует String.Concat () для соединения двух строк.Я следую инструкциям на этом сайте: https://docs.microsoft.com/en-us/windows/uwp/data-binding/function-bindings

Поскольку это первый вопрос о переполнении стека, если способ, которым я спрашиваю, был неверным, укажите это.спасибо (≧ ∀ ≦) ゞ

Я пытался использовать System.Contact () в функции, которую я создал в другом пространстве имен, и она хорошо выглядит.

xmlns:sys="using:System"
xmlns:local="using:uwpppp.Scenes.ReciteF">

...

<TextBlock Text="{x:Bind sys:String.Concat('hello','123')}"/><!--not good-->

<TextBlock Text="{x:Bind local:Showdetail.GetString('hello','hello2')}"/><!--good-->
public static String GetString(string a, string b)
{
    return String.Concat(a, b);
}

Неверный путь привязки 'sys: String.Concat ('hello', '123') ': параметр функции' 1 'недействителен или не соответствует

1 Ответ

3 голосов
/ 29 мая 2019

Согласно документации , я думаю, что проблема заключается в следующем:

Перегрузка основана на количестве аргументов, а не на типе, и она попытается сопоставить первую перегрузку с таким количеством аргументов

String.Concat имеет много различных перегрузок, и механизм x:Bind, скорее всего, сначала находит перегрузку (object,object), и это вызывает ошибку, которую вы видите:

Invalid or missmatched parameter at position '1'.

В случае вашего пользовательского метода у вас есть только одна перегрузка, поэтому он может четко использовать параметры (string, string).

...