Я не нашел решение в Интернете, которое решит мою проблему. Поэтому я действительно надеюсь, что кто-то может мне помочь.Преобразование TextBox.Text в Int. (No-Code Behind)
Итак, в основном, что говорит Title. У меня есть этот
public MyCommand Champion
{
get
{
return new MyCommand((id) =>
{
ChampionById(id);
});
}
set { _champion = value; }
}
private async void ChampionById(object id)
{
_staticRiotApi.GetChampion(Region.euw, (int)id);
}
который я связываться с кнопкой, на мой взгляд, который выглядит так, довольно просто.
<Button Content="Search By Id" Command="{Binding Champion}" CommandParameter="{Binding ElementName=championId}">
</Button>
<TextBox Grid.Row="0" Grid.Column="1" Name="championId"></TextBox>
Метод GetChampion нужен идентификатор чемпиона, который я вхожу в текстовом поле, которое затем будет передано как «ид», поэтому я попытался литье его в целое. Я получаю это (как выше), и я получаю это
"Исключение типа„System.InvalidCastException“произошло в RiotApiApplication.exe, но не обрабатывается код пользователя Дополнительная информация: указано литая не действует. "
Я попытался Convert.ToInt32 (ID) я получаю это:
Невозможно привести объект типа 'System.Windows.Controls.TextBox' к типу 'System.IConvertible'.
Так что моя следующая попытка была в том, что я пытался включить конвертер, который берет ввод текстового поля и преобразовывает его в целое. Например. «Aatrox» == 266, который выглядит следующим образом. (Я знаю, что оно не самое лучшее решение, но я просто хочу работать первым)
switch (value as string)
{
case "Aatrox":
value = 266;
break;
}
return value;
Но все-таки получить тот же вопрос. Итак, я попытался создать новый класс MyCommand, который является Generic, чтобы он возвращал Integer и до сих пор не надеется.
Может ли кто-нибудь найти решение или помочь мне правильным способом. Я как бы застрял и не знаю, что делать. Я могу написать метод, который берет строку, но это может помешать использованию библиотеки.
Спасибо Филиппу !! – MummiSnow