前提・実現したいこと
C#の勉強をしているものです。WindowsFormAppを作成したのでXamarinにてモバイル化を目指しています。
Xamarin.Forms入門というブログを写しているのですが、エラーが出てしまい進めていない状態です。
エラーが解決できてログイン画面を完成させたいです。
ログイン、画面遷移の機能はまた別で勉強中ですので、エントリーに文字を入力してボタンを機能させるというところまで進めたいです。
発生している問題・エラーメッセージ
C# public class IsGreaterZeroConverter : IValueConverter の部分で IValueConverter インターフェイスが実装できないです。 Xamarin <local:IsGreaterZeroConverter x:Key="isGreaterZeroConverter"/> の部分で local:IsGreaterZeroConverter が読み込まれていないです。
該当のソースコード
C#
1using System; 2using System.Collections.Generic; 3using System.ComponentModel; 4using System.Globalization; 5using System.Linq; 6using System.Text; 7using System.Threading.Tasks; 8using Xamarin.Forms; 9 10namespace App2 11{ 12 // Learn more about making custom code visible in the Xamarin.Forms previewer 13 // by visiting https://aka.ms/xamarinforms-previewer 14 [DesignTimeVisible(false)] 15 16 public class IsGreaterZeroConverter : IValueConverter 17 { 18 public object Converter(object value, Type targetType, object parameter, CultureInfo culture) 19 { 20 return ((int)value) > 0; 21 } 22 23 public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 24 { 25 throw new NotSupportedException(); 26 } 27 } 28 public partial class MainPage : ContentPage 29 { 30 public MainPage() 31 { 32 InitializeComponent(); 33 } 34 } 35} 36
Xamarin
1<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 2 xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 3 xmlns:d="http://xamarin.com/schemas/2014/forms/design" 4 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 5 mc:Ignorable="d" 6 xmlns:local="clr-namespace:App2" 7 x:Class="App2.MainPage"> 8 9 <ContentPage.Resources> 10 <ResourceDictionary> 11 <local:IsGreaterZeroConverter x:Key="isGreaterZeroConverter"/> 12 </ResourceDictionary> 13 </ContentPage.Resources> 14 <StackLayout> 15 <Entry x:Name="entryUserName" 16 Text=""/> 17 <Entry x:Name="entryPassword" 18 IsPassword="True" 19 Text=""/> 20 <Button Text="Login" 21 IsEnabled="False"> 22 <Button.Triggers> 23 <MultiTrigger TargetType="Button"> 24 <MultiTrigger.Conditions> 25 <BindingCondition Binding="{Binding Text.Length, Source={x:Reference entryUserName}, 26 Converter={StaticResource isGreaterZeroConverter}}" 27 Value="true"/> 28 <BindingCondition Binding="{Binding Text.Length, Source={x:Reference entryPassword}, 29 Converter={StaticResource isGreaterZeroConverter}}" 30 Value="true"/> 31 </MultiTrigger.Conditions> 32 <Setter Property="IsEnabled" 33 Value="True"/> 34 </MultiTrigger> 35 </Button.Triggers> 36 </Button> 37 </StackLayout> 38 39</ContentPage> 40
試したこと
C#のバージョンかと思ったのですがC#自体のバージョンの確認があいまいでしっかりと確認ができませんでした。
C#のバージョンが原因でしたらあわせて確認方法もご教授していただけるとありがたいです。
よろしくお願いします。
補足情報(FW/ツールのバージョンなど)
Microsoft Visual Studio Community 2019
Version 16.5.4
.NET Framework version 4.8.03752
参考にさせていただいてるブログは
https://blog.okazuki.jp/entry/2017/06/19/012705
174ページになります。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。